---
name: jehlp-site-qa
description: "Review jehlp.net UI changes in the browser for responsive layout, keyboard use, color modes, and regressions across shared-theme consumers."
---

# jehlp-site-qa

Read site-theme/docs/QA-MATRIX.md and select the rows relevant to the requested change. Inspect existing test commands before running them; report static tests, script behavior tests, and rendered browser evidence separately.

For shared-theme work, make the browser actually load the candidate local theme. Use temporary response rewriting or request interception for the production theme URL, or a throwaway preview copy. Never commit localhost URLs. Rebuild generated documents and the solver export first. Build Jekyll locally; do not mistake archived _site output for the candidate source.

Exercise 390px and 1440px light/dark layouts, keyboard traversal, meaningful focus, 200% text enlargement, and relevant no-JS/print/reduced-motion behavior. Add widths only when a concrete breakpoint defect needs isolation. Test real primary interactions rather than taking only screenshots. Capture representative evidence with viewport, theme and state.

For the MTL contents disclosure, check hidden links, Escape, heading selection, resize and no-JS. For data dialogs, check naming, focus and close. For solver export, disable network. For the dashboard, preserve read-only behavior and truthful offline/stale state.

For select changes, exercise keyboard/typeahead, Escape without selection, reset,
disabled options, dynamic option population, programmatic value synchronization
and native fallback. Compare equal-role reader controls for matching size; check
that chapter groups survive and redundant glossary controls do not return. Check
PNG masthead loading at its actual small size in both modes. Review the first
useful viewport for empty hero space or unexplained number gutters. A paginated
table must not also need internal two-axis scrolling; inspect first/last rows,
details and sort direction. For a true matrix, test connected headers in each
scroll direction. For puzzle dividers, inspect the complete rules/examples and
the main puzzle's lead-in, solve links and grids on both sides of the boundary.
An ornament before the first image is not sufficient: examples stay above, while
the complete main puzzle unit stays below. Check the reviewed lead-in/paired-grid
exceptions in docs/COMPONENTS.md and verify exact source text, link and diagram
preservation; image counts alone cannot establish a correct semantic boundary.

For puzzle sheets, verify a distinct transition ornament, one top edge, and the
complete main unit inside the frame, including paired grids and reference charts.
Only a verified leading solver-only run may become an action row; post-grid links
stay in source order. Check narrow/enlarged-text control wrapping, unchanged bitmap
colors and proportions, and print's normal top border without the ornament.

For code listings, check token contrast in both modes and print, keyboard focus and scrolling in a long listing,
the first open of a lazily loaded listing and its no-script source link.

Fix demonstrated failures at the responsible layer. Stop optional testing when concrete risks are covered. Leave an honest checklist of unavailable gates; never treat a DOM stub or source regex as proof of browser accessibility.

## Original technical writing

For original prose, use `jehlp-technical-writing` and `docs/WRITING-STYLE.md`.
Apply ASD-STE100 Issue 9 to explanations, instructions, help, and interface text.
Preserve translated and reader text, quotations, NDB fiction and item descriptions, and exact technical meaning.
Review generated outputs and accessible names after a text change.
