Skip to content

Fix landmark accessibility violation for progress and clock elements#7

Merged
mgifford merged 3 commits intomainfrom
copilot/fix-accessibility-landmarks
Feb 13, 2026
Merged

Fix landmark accessibility violation for progress and clock elements#7
mgifford merged 3 commits intomainfrom
copilot/fix-accessibility-landmarks

Conversation

Copy link
Contributor

Copilot AI commented Feb 13, 2026

The .progress and .clock elements were not contained by landmark regions, violating WCAG 2.1 and triggering axe/region failures.

Changes

  • index.html: Changed <div class="progress"> and <div class="clock"> to <aside> elements with unique aria-label attributes
  • scripts/test-landmarks.sh: Added regression test verifying landmark structure
  • package.json: Integrated landmark test into test suite
  • AGENTS.md: Updated documentation to reflect new element structure

Implementation

<!-- Before -->
<div class="progress"></div>
<div class="clock"></div>

<!-- After -->
<aside class="progress" aria-label="Presentation progress"></aside>
<aside class="clock" aria-label="Presentation timer"></aside>

The <aside> element provides the implicit complementary landmark role required by WCAG. Existing CSS and JavaScript continue to work unchanged as they reference class selectors, not element types.

Screenshot

Presentation with fixed landmarks

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/869685/chrome-linux.zip
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node install.js (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Accessibility issue: All page content should be contained by landmarks on /whisper-slides/</issue_title>
<issue_description>## What
An accessibility scan flagged the element <div class="clock" aria-label="clock"> on https://mgifford.github.io/whisper-slides/ because all page content should be contained by landmarks. Learn more about why this was flagged by visiting https://dequeuniversity.com/rules/axe/4.11/region?application=playwright.

To fix this, ensure all page content is contained by landmarks.

Specifically:

Fix any of the following:

  • Some page content is not contained by landmarks

Acceptance Criteria

  • The specific axe violation reported in this issue is no longer reproducible.
  • The fix MUST meet WCAG 2.1 guidelines OR the accessibility standards specified by the repository or organization.
  • A test SHOULD be added to ensure this specific axe violation does not regress.
  • This PR MUST NOT introduce any new accessibility issues or regressions.

</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…bility

- Changed div elements to aside elements with semantic meaning
- Added aria-label attributes for unique accessible names
- Created test-landmarks.sh to prevent regression
- Added test:landmarks to npm test suite
- Updated AGENTS.md documentation

Fixes the axe/region accessibility violation where page content
was not contained by landmarks.

Co-authored-by: mgifford <116832+mgifford@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix accessibility issue for page content landmarks Fix landmark accessibility violation for progress and clock elements Feb 13, 2026
Copilot AI requested a review from mgifford February 13, 2026 13:23
@mgifford mgifford marked this pull request as ready for review February 13, 2026 16:12
@mgifford mgifford merged commit 4f317ce into main Feb 13, 2026
1 check passed
@mgifford mgifford deleted the copilot/fix-accessibility-landmarks branch February 13, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Accessibility issue: All page content should be contained by landmarks on /whisper-slides/

2 participants