docs(accessibility): add a page on the inert attribute#60
Merged
Conversation
Adds src/content/spec/accessibility/inert-attribute.md documenting the WHATWG HTML `inert` global attribute — Baseline Widely Available since April 2023 — as the declarative replacement for focus-trap scripting when an overlay is open. Status: recommended (the platform does not break without it; modal <dialog> supplies it automatically). Wires inert-attribute into the relatedSlugs of keyboard-navigation, focus-indicators, skip-links, and native-interactive-elements; adds the changelog entry and OG images. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploying specification-website with
|
| Latest commit: |
063e3d3
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9aabe0cc.specification-website.pages.dev |
| Branch Preview URL: | https://standards-scan-inert-attribu.specification-website.pages.dev |
… for inert find-in-page exclusion for inert subtrees is not yet in Safari (open WebKit bug), so the unconditional claim and the verification step are softened. 'Baseline Widely Available since April 2023' conflated newly- and widely- available; inert has been Baseline (interoperable) across browsers since April 2023. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
Author
|
Reviewed and improved before merge:
Verified the WHATWG/APG/MDN sources and the MDN canonical path via the MDN MCP server. Content, cross-links, changelog, and OG images all check out. The failing Internal links check is the known linkinator exit-13 tooling crash (non-blocking), not a broken link in this PR. |
jdevalk
added a commit
that referenced
this pull request
Jun 27, 2026
After merging main (the inert page, #60), the total page count is 152; regenerate the count-driven og-default / checklist / spec images so they reflect it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jdevalk
added a commit
that referenced
this pull request
Jun 27, 2026
* add(foundations): CSS container queries page Documents container-type/@container size queries (CSS Containment Module Level 3) and the newer style queries (CSS Conditional Rules Module Level 5). Status: recommended — a modern site should style components by their container, but the platform works without it. Size container queries have been Baseline widely available since February 2023; style queries reached Baseline newly available in May 2026. Wires relatedSlugs on anchor-positioning, css-containment, and dynamic-viewport-units; adds the changelog entry and OG images. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(foundations): clarify size-query Baseline wording for container queries 'Baseline (widely available) since February 2023' conflated the newly- available date (Feb 2023, Firefox 110 — last core engine) with widely- available. Size queries became Baseline in Feb 2023 and are now widely available; the style-query date (May 2026) was already correct. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(og): regenerate count-driven OG images for 152 spec pages After merging main (the inert page, #60), the total page count is 152; regenerate the count-driven og-default / checklist / spec images so they reflect it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jdevalk
added a commit
that referenced
this pull request
Jun 27, 2026
…lake (#62) The links job shelled out to `npx linkinator`, whose CLI runs `await main()` at the top level. On Node 22 the event loop can empty while that await is still pending, aborting with exit 13 ("unsettled top-level await") after fetching only `/` — a deterministic crash, not a broken link, that the earlier retry-on-13 hardening (#58/#59) could not reliably paper over (it still failed on PRs #60 and #61). Replace the CLI with scripts/check-links.mjs, which drives linkinator's LinkChecker class programmatically and resolves with `.then()`/process.exit so our process can't hit the same foot-gun. Pin linkinator as a devDependency for a stable version. Both jobs (internal --internal, external --config) use it; the config's `skip` list maps to the API's `linksToSkip`. Verified locally: builds, serves, and scans 1500 internal links (0 broken, exit 0) with no exit-13 crash. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a new spec page — The inert attribute — under
accessibility.inertis a boolean global attribute that makes an element and its descendants non-interactive: removed from the tab order, removed from the accessibility tree, unfocusable, and skipped by find-in-page. It is the declarative replacement for the fragile focus-trap scripting authors used to write to keep keyboard and screen-reader focus inside an open dialog/menu/panel.Why now
inert. It sits naturally in the focus-management cluster alongsidekeyboard-navigation,focus-indicators, andskip-links.aria-hiddenalone hides background content from screen readers but leaves it focusable, so keyboard focus still escapes an overlay.inertfixes both at once.Status
recommended— the web platform contract does not break without it (a modal<dialog>opened withshowModal()already makes the rest of the document inert automatically), but a modern site should use it for non-<dialog>overlays. Notrequired.Primary sources
Also in this PR
inert-attributeintorelatedSlugsof keyboard-navigation, focus-indicators, skip-links, native-interactive-elements.added) for 2026-06-26.npm run buildpasses (151 pages indexed). Opened as a draft for maintainer review — not for auto-merge.🤖 Generated with Claude Code