Skip to content

Add semantic HTML for accessibility (v0.4.0)#20

Merged
23min merged 1 commit intomainfrom
feature/semantic-html
Feb 11, 2026
Merged

Add semantic HTML for accessibility (v0.4.0)#20
23min merged 1 commit intomainfrom
feature/semantic-html

Conversation

@23min
Copy link
Owner

@23min 23min commented Feb 11, 2026

Summary

  • List renders as <ul role="list"> with <li> items instead of generic <div>s
  • Card renders as <article> instead of <div> (self-contained content)
  • Surface has role="region" + aria-label landmark for screen readers
  • Reconnecting overlay has role="status" (polite live region)
  • Error/unknown component fallback has role="alert"/role="status" for assistive tech
  • CSS resets browser default <ul> styling (list-style, margin, padding)

Test plan

  • 7 new bUnit tests verify element types and ARIA roles
  • 4 new Playwright E2E tests verify semantic HTML in real browser (Contacts list = <ul>/<li>, Restaurant cards = <article>, Surface landmark, Error demo unknown component role)
  • All 225 unit tests pass
  • All 27 Playwright E2E tests pass
  • 0 warnings, 0 errors

🤖 Generated with Claude Code

- List renders as <ul role="list"> with <li> items instead of divs
- Card renders as <article> instead of div
- Surface has role="region" with aria-label for accessibility
- Reconnecting overlay has role="status" for live region
- Unknown component fallback has role="status"
- Component error boundary has role="alert"
- CSS resets browser default ul styling (list-style, margin, padding)
- 7 new bUnit tests + 4 new Playwright E2E tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@23min 23min merged commit c387133 into main Feb 11, 2026
2 checks passed
@23min 23min deleted the feature/semantic-html branch February 11, 2026 22:05
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.

1 participant