Skip to content

feat: setup eslint-plugin-react-native-a11y for accessibility linting - #127

Merged
samdaw13 merged 3 commits into
mainfrom
feat/onboard-native-a11y
Mar 12, 2026
Merged

samdaw13 merged 3 commits into
mainfrom
feat/onboard-native-a11y

Conversation

@samdaw13

Copy link
Copy Markdown
Owner

Summary

  • Add eslint-plugin-react-native-a11y with ESLint 9 flat config, enabling accessibility rules for React Native components
  • Fix all existing a11y violations by adding role or accessibilityRole to Pressable and TextInput components
  • Remove deprecated .eslintignore file (patterns already covered by flat config ignores)
  • Pin react to 19.2.3 to match react-native's bundled renderer and add npm overrides for the plugin's ESLint peer dep

Closes #110

Test plan

  • npm install completes cleanly
  • npm run lint passes (0 errors)
  • npm test passes (149/149)
  • Verify screen reader behavior on iOS (VoiceOver) and Android (TalkBack)

🤖 Generated with Claude Code

samdaw13 and others added 2 commits March 12, 2026 13:14
Setup the a11y linter plugin with ESLint 9 flat config and fix all
existing violations by adding appropriate roles to Pressable and
TextInput components. Pin react to 19.2.3 to match react-native's
bundled renderer.

Closes #110

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ESLint 9 flat config uses the ignores property in eslint.config.mjs
instead of .eslintignore. All patterns were already covered.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@samdaw13
samdaw13 enabled auto-merge March 12, 2026 19:20
Prevents peer dependency conflict in CI where react-test-renderer
would resolve to 19.2.4 while react is pinned to 19.2.3.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@samdaw13
samdaw13 merged commit 0776cf9 into main Mar 12, 2026
2 checks passed
@samdaw13
samdaw13 deleted the feat/onboard-native-a11y branch March 12, 2026 19:23
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.

Setup the https://www.npmjs.com/package/eslint-plugin-react-native-a11y module

1 participant