Skip to content

Form is Inaccessible to Screen Readers #193

@danielcranney

Description

@danielcranney

Bug: Form is Inaccessible to Screen Readers

Describe the bug

The main contact form on the homepage is not accessible to screen readers. Users relying on assistive technologies are unable to understand the form fields, their labels, or receive feedback on input errors.

Steps to Reproduce

  1. Navigate to the homepage.
  2. Use a screen reader (e.g., VoiceOver, NVDA, or JAWS).
  3. Attempt to interact with the contact form fields.
  4. Notice that form labels are not announced, and error messages (if any) are not communicated.

Expected Behavior

Screen readers should:

  • Announce each form field and its associated label.
  • Communicate required fields clearly.
  • Announce validation errors after form submission or inline errors during typing.

Actual Behavior

  • Form field labels are missing or improperly associated (<label> not correctly linked via for attribute or aria-labelledby).
  • Required fields are not announced.
  • Error messages are not reachable or announced by screen readers.

Impact

This severely limits usability for users with visual impairments and violates WCAG 2.1 Level AA guidelines.

Screenshots / Screen Reader Logs

(Add relevant logs or recordings if available)

Environment

  • Browser: Chrome, Firefox (latest versions)
  • Assistive Tech: NVDA 2024.1, VoiceOver on macOS Sonoma
  • Device: Desktop and MacBook

Possible Solution

  • Ensure every input has a proper <label> or aria-label.
  • Use aria-describedby for helper and error text.
  • Implement ARIA live regions for dynamic feedback.

Additional Context

This issue was reported by a user during accessibility testing. We should consider running an automated accessibility audit and scheduling manual screen reader testing in future QA cycles.


Priority: High
Labels: a11y, bug, high priority, forms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions