Skip to content

Enable Biome a11y lint rules (staged, after the unlabeled-controls sweep) #4158

Description

@atomantic

Enable Biome's a11y lint rule group in client/biome.jsonc (confirmed no a11y config present today) so this class of accessibility gap (unlabeled form controls, missing alt text, invalid ARIA props/roles) is enforced automatically instead of relying on periodic manual audits.

This got cheaper when the client moved from ESLint to Biome: the a11y rules ship in Biome itself, so this is purely a config change — no new dependency needed.

Fix shape

Still gated on #4156 (sweep remaining unlabeled form controls) landing first — enabling the full a11y group today would surface hundreds of findings at once and fail CI until that backlog is drained. Sequence:

  1. Land the unlabeled-controls sweep (Sweep remaining unlabeled form controls outside FormField #4156).
  2. Enable only the rules the repo already substantially honors: a11y/useAltText, a11y/useValidAriaProps, a11y/useAriaPropsForRole, a11y/noLabelWithoutControl — rather than the whole a11y group at once.
  3. Expand to the remaining a11y rules in follow-up passes once each is verified clean (or fixed) against the current codebase.

Migrated from PLAN.md by /do:replan --issues. Related to #4156.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort:highDispatch reasoning effort: highenhancementNew feature or requestmodel:mediumModel size: medium

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions