riccardo-sapuppo

Accessibility

Last recorded automated check: Not verified

What is checked automatically

npm run a11y:check opens eight pages in a real browser and verifies, on the HTML those pages actually produce:

  • each of them has exactly one h1
  • no heading level is skipped
  • each image has an alt attribute (empty if decorative)
  • each interactive control has an accessible name
  • no div or span carries a click handler on its own
  • each a has an href
  • each form field has an associated label
  • the document lang attribute is set and follows the selected language
  • links opening a new tab carry rel="noopener"
  • modal windows declare role="dialog" and aria-modal

What was done by hand

  • The activity bar, explorer, tabs and status bar are real interactive elements: reachable with Tab and announced with their state.
  • Modal windows (project image, command palette, PDF viewer) trap focus, close on Escape and return focus to the element that opened them.
  • Single-letter shortcuts do not fire while typing in a field and never shadow browser combinations: Ctrl+F used to open full screen instead of find.
  • Motion follows prefers-reduced-motion and the explicit interface preference, which wins.
  • Ephemeral messages (email copied, form outcome) are announced through aria-live regions.
  • The contact form has real labels bound to their fields: they are visually hidden because showing them would change the layout, not because they are unnecessary.

What is NOT proven

No automated tool establishes WCAG conformance. The checks above catch structural errors, not whether an alt text actually describes its image or whether a flow makes sense through a screen reader. So the site does not claim "AA compliant": it states what has been verified, and how.

main
accessibility.mdUTF-8TypeScript