Skip to content

chore(a11y): enhance accessibility by adding aria-labels and titles to interactive elements#343

Open
OTobi21 wants to merge 13 commits into
BETAIL-BOYS:mainfrom
OTobi21:chore/a11y-icon-aria-labels
Open

chore(a11y): enhance accessibility by adding aria-labels and titles to interactive elements#343
OTobi21 wants to merge 13 commits into
BETAIL-BOYS:mainfrom
OTobi21:chore/a11y-icon-aria-labels

Conversation

@OTobi21

@OTobi21 OTobi21 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Description

Closes #217

Add explicit accessible names to icon-only interactive elements and surface guidance for enabling jsx-a11y. Specifically:

  • Add aria-label / title to icon-only <button> and links across components (Navbar, dropdowns, modals, banners, etc.).
  • Default decorative icons to aria-hidden in Icon.tsx.
  • Add A11Y_ESLINT.md with a safe plan to enable eslint-plugin-jsx-a11y (note: plugin not force-enabled here due to an ESLint flat-config compatibility issue).

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would break existing functionality)
  • Refactor (code improvement without functional changes)
  • Documentation update

Testing Strategy

  • Manual spot checks of affected UI (open/close modals, nav actions, copy/address buttons) to confirm labels and tooltips surface correctly.

  • Accessibility smoke tests with Lighthouse / axe recommended (run locally or in CI).

  • Recommended dev commands:

    • npm run dev — manual UI checks
    • npm run test — run unit tests (if present)
    • npm run lint — run linter after enabling jsx-a11y per docs
  • I have run the linter and type checker

  • I have added/updated tests

  • All existing tests pass

Self-Review Checklist

  • My code follows the project's coding style (kept existing style, small edits only)
  • I have reviewed my own code for potential issues
  • I have added necessary documentation/comments (A11Y_ESLINT.md)
  • I have updated relevant README or docs if needed (additional docs optional)
  • No new warnings or errors are introduced (run linter after enabling jsx-a11y)
  • Changes are backward-compatible (no behavior changes; accessibility additions only)

Notes: I attempted to enable eslint-plugin-jsx-a11y automatically but encountered a FlatCompat/config compatibility error; see A11Y_ESLINT.md for a safe, step-by-step enablement plan.

@AlAfiz

AlAfiz commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

@OTobi21 please resolve conflicts

@OTobi21

OTobi21 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

conflicts have been resolved

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.

Add descriptive aria-labels to all icon-only buttons

2 participants