Skip to content

error.tsx, global-error.tsx, and not-found.tsx render error copy without role=alert or aria-live #1122

Description

@harystyleseze

Description:
config-error-page.tsx wraps its message in role="alert" aria-live="assertive" so screen reader users are immediately informed of the configuration error. The dashboard's other three error-shaped routes — error.tsx, global-error.tsx, and not-found.tsx — render structurally similar 'something went wrong' cards with no such role/aria-live, so those errors are not proactively announced to assistive technology.

Acceptance Criteria:

  • error.tsx, global-error.tsx, and not-found.tsx each wrap their message container in role="alert" (or an equivalent aria-live region), matching config-error-page.tsx's pattern
  • Screen reader testing confirms each of the three pages announces its error/not-found message on mount
  • No visual changes to any of the three pages
  • not-found.tsx uses an appropriate role given it is not strictly an error (e.g. status vs alert) — use judgment and document the choice

Relevant Files:

  • dashboard/src/app/error.tsx — no role=alert/aria-live on the error card
  • dashboard/src/app/global-error.tsx — no role=alert/aria-live on the error card
  • dashboard/src/app/not-found.tsx — no role/aria-live on the 404 card
  • dashboard/src/components/config-error-page.tsx — the existing pattern to match: role=alert aria-live=assertive

Metadata

Metadata

Labels

Stellar Wave200 pts — complex feature, architecture, refactora11yAuto-created by repotool publish-folderfrontendNext.js / UI / UX

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions