Skip to content

feat(site): explain each operation in plain words - #31

Merged
Mearman merged 1 commit into
mainfrom
feat/site-explain-covering
Oct 29, 2026
Merged

Mearman merged 1 commit into
mainfrom
feat/site-explain-covering

Conversation

@Mearman

@Mearman Mearman commented Oct 29, 2026

Copy link
Copy Markdown
Member

The page named Covering array and Strength without saying what they are. Each operation now has a short paragraph under its heading, and the fields that need one (the list limit, Strength) have another beside them: count, list, dead values, covering array, one combination by index, and explain. The controls name them in aria-describedby, so a screen reader reads each on focus; they are plain paragraphs, not tooltips, so they show on a phone and in both colour schemes.

Covering array reads as a short list of valid combinations that tests every interaction you care about without listing them all, checked and reported. Strength is how many options at a time must be covered together: 1 every single value, 2 (pairwise, the default) every pair of values from any two dimensions, 3 every triple, with combinations the rules make impossible not required.

The texts are in site/src/help.ts and filled into placeholders in index.html at start. A jsdom test loads index.html itself and checks that every control of an operation names a description that exists and has text, that every description has a paragraph, that the wording covers what was asked, and that none contains a dash or a spaced double hyphen. I broke each of those in turn and the test failed. In headless Chromium I checked the text is visible, that Chromium's accessibility tree reports each paragraph as the control's description, that no horizontal scroll appears at 375px, that the text has at least 4.5:1 contrast against its panel in light and dark, and that a covering array still builds.

The page said what Covering array and Strength were called but not what they meant. Each
operation (count, list and its limit, dead values, covering array and its strength, one
combination by index, and explain) now has a short paragraph under its heading or beside its
field, and the controls name it in aria-describedby, so it shows on screen and a screen reader
reads it when the control is focused. No tooltip is involved.

The texts live in one module, filled into placeholders in index.html when the page starts. A
test reads index.html itself and checks that every control of an operation names a description
that exists and has text, that every description has a paragraph, and that the covering array and
strength wording says what it was asked to.
@Mearman
Mearman marked this pull request as ready for review October 29, 2026 18:03
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ⚠️ Failed 2026-10-29T18:03:50.011356Z
We couldn’t complete this review. Comment @codex security review to try again.
2720d0e Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@Mearman
Mearman merged commit e7d44de into main Oct 29, 2026
10 checks passed
@Mearman
Mearman deleted the feat/site-explain-covering branch October 29, 2026 18:04
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.0.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant