Skip to content

fix(accessibility): add aria-required to required form fields#620

Open
ada-workbackai wants to merge 1 commit intomasterfrom
workbackai/fix/wcag-3.3.2-form-aria-required
Open

fix(accessibility): add aria-required to required form fields#620
ada-workbackai wants to merge 1 commit intomasterfrom
workbackai/fix/wcag-3.3.2-form-aria-required

Conversation

@ada-workbackai
Copy link
Copy Markdown
Contributor

Summary

Fixes WCAG 3.3.2 (Labels or Instructions) by adding aria-required="true" to required form fields in the z-input and z-select components.

Issue: Required form fields are marked with visual asterisks (*) but lack the aria-required attribute. Screen readers cannot programmatically determine which fields are mandatory, leading to form submission errors and poor user experience for users with assistive technologies.

Solution:

  • Added aria-required="true" to z-input when required prop is true
  • Added required prop to z-select component and passed it to the internal z-input
  • Applied fix to both text inputs and checkbox inputs

Test Plan

  • Verified z-input adds aria-required when required prop is set
  • Verified z-select accepts required prop and passes to internal input
  • Tested on contact form at https://my.zanichelli.it/contattaci
  • Confirmed 5 required fields will receive aria-required attribute

Evidence

View before/after screenshots and full audit details:
https://app.workback.ai/dashboard/issue/2978/


WCAG Reference:
3.3.2 Labels or Instructions (Level A)

Adds aria-required="true" attribute to required form inputs and selects
to ensure screen readers can programmatically determine which fields are
mandatory. Fixes WCAG 3.3.2 (Labels or Instructions) violation where
visual asterisks were not accessible to assistive technologies.

Changes:
- z-input: Add aria-required when required prop is true
- z-select: Add required prop and pass to internal z-input

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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