Accessibility rule handbook metadata

Rule
DET.A11Y.KS.HANDBOOK_SINGLE_H1 · lane deterministic · scope ks
Page status
current
page_version
b0f36a3e0e76348d39b6dc240a5b9e6481a3b2d7ae8191698694bd8e5f148f8b
generated_at
2026-05-26T08:51:23.000Z
registry_fingerprint
e11a2939d018a45bae7d6e23364aba2ae4e13f190d942f49891c89ea84c44c46

How this rule is checked

Deterministic lane — scope ks. Detected by det-a11y-ks-*.check.js or the axe lane for WCAG-tagged violations.

  • Harness: auditor-tests/invoke-a11y-ruleset-harness.sh on the Before fixture.
  • Audit: analyze-website-a11y.mjs --only-deterministic-rule-ids DET.A11Y.KS.HANDBOOK_SINGLE_H1

Module: docs/design/a11y-audit/deterministic-a11y-rules.md#det-a11y-ks-handbook-single-h1. See Before / After below.

Purpose

One primary h1 inside handbook chapter layout.

Passing signals

  • DOM and/or repo signals satisfy the rule implementation in tools/website-a11y-auditor.
  • For axe-backed WCAG criteria, use --lanes axe,det with an appropriate --standard preset.

Failing signals

  • Auditor emits a finding with ruleId DET.A11Y.KS.HANDBOOK_SINGLE_H1 on the crawled URL.
  • Harness: auditor-tests/invoke-a11y-ruleset-harness.sh DET.A11Y.KS.HANDBOOK_SINGLE_H1 expects ≥1 finding on the Before fixture.

Before example

Before (failing example)

Chapter title

Duplicate from Markdown

Two top-level headings confuse screen readers.

After example

After (passing example)

Chapter title

Section

Body starts at h2 under a single h1.

Evidence and remediation

  1. Reproduce with analyze-website-a11y.mjs --only-deterministic-rule-ids DET.A11Y.KS.HANDBOOK_SINGLE_H1 when lane is deterministic.
  2. Apply the After markup pattern (or fix generator source for KS rules).
  3. Re-run harness or audit until the rule is clean on the target URL.