Accessibility Commitment

Everyone should be able to use this site. Here's how we're making that happen.

Our Commitment

We're committed to making rgbnathan.co.uk accessible to everyone, regardless of ability or technology used. Our goal is to meet or exceed WCAG 2.2 Level AA standards.

Accessibility isn't a checklist—it's an ongoing process. We continuously test, improve, and listen to feedback to make this site better for everyone.

Current Status

Status as of January 2026:

  • Target standard: WCAG 2.2 Level AA
  • Current compliance: Partial (work in progress)
  • Testing tools: axe DevTools, WAVE, manual keyboard testing, NVDA/VoiceOver screen reader testing
  • Known issues: See below for areas we're actively improving

Accessibility Features

Semantic HTML Structure

  • Proper heading hierarchy (h1 → h6)
  • Semantic landmarks (nav, main, aside, footer) for easy navigation
  • Descriptive link text (no "click here")
  • ARIA labels and roles where needed

Visual Design

  • High contrast: Text meets WCAG AA contrast ratios (4.5:1 for normal text, 3:1 for large text)
  • Focus indicators: Visible keyboard focus outlines on all interactive elements
  • Responsive text: Scalable fonts that work with browser zoom (up to 200%)
  • Color independence: Information isn't conveyed by color alone

Interactive Elements

  • All buttons and links have descriptive accessible names
  • Form inputs have associated labels
  • Error messages are clear and announced to screen readers
  • Loading states are communicated via ARIA live regions

Keyboard Navigation

You can navigate the entire site using only a keyboard. Here's how:

Navigation Keys

  • Tab: Move forward through interactive elements
  • Shift + Tab: Move backward
  • Enter or Space: Activate buttons and links
  • Escape: Close modals and dropdowns
  • Arrow keys: Navigate menus and carousels

Focus Management

  • Focus indicators are visible on all interactive elements
  • Focus order follows a logical reading sequence
  • No keyboard traps—you can always Tab out of any component
  • Skip links allow bypassing repetitive navigation

Screen Reader Support

We test regularly with NVDA (Windows) and VoiceOver (macOS/iOS). Here's what works:

Tested Features

  • Page structure: Headings, landmarks, and lists are properly announced
  • Navigation: Menu items and links have descriptive labels
  • Forms: Labels are associated with inputs, error messages are clear
  • Dynamic content: ARIA live regions announce loading states and updates
  • Images: Alt text describes content and function
  • Tables: Data tables use proper headers and captions

ARIA Practices

  • ARIA labels supplement HTML where semantic elements aren't enough
  • Role attributes (button, navigation, dialog) clarify component purpose
  • ARIA live regions (polite and assertive) announce dynamic changes
  • aria-hidden="true" hides decorative icons from screen readers

Known Issues

We're actively working on these areas. If you encounter something not listed here, please let us know!

In Progress

  • Complex visualizations: Some charts and graphs may benefit from additional text alternatives
  • Mobile navigation: Hamburger menu focus management needs refinement
  • Third-party embeds: External content (e.g., embedded players) may have accessibility limitations outside our control

Planned Improvements

  • Add reduced motion preferences support
  • Improve data table accessibility with sortable headers
  • Add more comprehensive text alternatives for visual content
  • Expand keyboard shortcut documentation

Feedback & Requests

Your feedback helps us improve. If you encounter accessibility barriers, please let us know!

How to Report Issues

  1. GitHub Issues: Open an accessibility issue with details about the problem
  2. Include: Page URL, browser/screen reader used, description of the issue
  3. Expected response time: We aim to acknowledge issues within 3 business days

Accessibility Roadmap

We're committed to continuous improvement. Check our GitHub projects board for upcoming accessibility enhancements.

Testing Methodology

Automated Testing

  • axe DevTools: Integrated into development workflow for automated accessibility scanning
  • WAVE: Browser extension for visual accessibility evaluation
  • Lighthouse: Regular audits in Chrome DevTools
  • ESLint jsx-a11y: Linting rules catch common accessibility issues during development

Manual Testing

  • Keyboard navigation: Every interactive element tested with keyboard only
  • Screen reader testing: NVDA (Windows) and VoiceOver (macOS) used for all major pages
  • Zoom testing: Pages tested at 200% zoom and with browser text scaling
  • Color contrast: Checked with WebAIM Contrast Checker
  • Focus indicators: Verified visible focus on all interactive elements

User Testing

We welcome feedback from users with disabilities. If you'd like to participate in accessibility testing, please reach out on GitHub.