Accessibility rule handbook metadata
- Rule
DET.A11Y.GENERIC.LANG· lanedeterministic· scopegeneric- Page status
- current
- page_version
60f571c82ca663702dd2ee5b21455a0a1823ed29853fe146ca8c33ad4bbb1b9c- generated_at
- 2026-05-26T08:51:23.000Z
- registry_fingerprint
e11a2939d018a45bae7d6e23364aba2ae4e13f190d942f49891c89ea84c44c46
How this rule is checked
Deterministic lane — scope generic. Detected by det-a11y-generic-*.check.js or the axe lane for WCAG-tagged violations.
- Harness:
auditor-tests/invoke-a11y-ruleset-harness.shon the Before fixture. - Audit:
analyze-website-a11y.mjs --only-deterministic-rule-ids DET.A11Y.GENERIC.LANG
Module: docs/design/a11y-audit/deterministic-a11y-rules.md#det-a11y-generic-lang. See Before / After below.
Purpose
Root html must declare lang.
Passing signals
- DOM and/or repo signals satisfy the rule implementation in
tools/website-a11y-auditor. - For axe-backed WCAG criteria, use
--lanes axe,detwith an appropriate--standardpreset.
Failing signals
- Auditor emits a finding with
ruleIdDET.A11Y.GENERIC.LANGon the crawled URL. - Harness:
auditor-tests/invoke-a11y-ruleset-harness.sh DET.A11Y.GENERIC.LANGexpects ≥1 finding on the Before fixture.
Before example
Before (failing example)
Page without lang
Simulates missing html[lang].
After example
After (passing example)
Page with lang
Assistive tech can pick en-US voice.
Evidence and remediation
- Reproduce with
analyze-website-a11y.mjs --only-deterministic-rule-ids DET.A11Y.GENERIC.LANGwhen lane is deterministic. - Apply the After markup pattern (or fix generator source for KS rules).
- Re-run harness or audit until the rule is clean on the target URL.