Accessibility pass on battles and practice
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, nextjs, nodejs, playwright
- 領域
- accessibility, frontend, testing
調査の方向性
Start by reading frontend/pages/battle.js, the matchmaking, practice, and results flows, backend/elo.js, and the related Playwright specs in frontend/e2e/. Map the full keyboard path and current announcements, then run the existing checks to establish a baseline. Done means the requested VoiceOver or NVDA notes are included, axe reports no serious or critical violations, and npm test, npm run lint, and node scripts/check-boundary.js pass.
索引モデルが issue の本文から書いたものです。
説明
The battle page is the heart of CodeArena and has never had an accessibility pass. A timed race is exactly where keyboard and screen reader gaps hurt most: a blind player cannot hear that the opponent just passed 3 of 8 tests or that 30 seconds remain.
Scope
frontend/pages/battle.js, matchmaking, practice and the results screen.
What to do
- Full keyboard path: queue, accept a match, write code, run, submit, read results and rematch without a mouse. The Monaco editor traps Tab by default, so document and test the escape key combination.
- Live regions for events that matter mid-battle: opponent progress, time warnings at 60 and 10 seconds, run results, battle end. Announce them politely and do not flood.
- Visible focus styles everywhere, and color contrast at WCAG 2.2 AA, including rank tier colors in
backend/elo.jsused on dark backgrounds. - Respect
prefers-reduced-motionfor the animations on these pages. - Add automated checks with
@axe-core/playwrightto the Playwright specs infrontend/e2e/for these pages, failing on serious and critical violations.
Definition of done
- A short screen recording or notes from a real VoiceOver or NVDA run through a full battle, in the pull request.
- Axe checks pass with zero serious or critical issues on the pages above.
npm test,npm run lintandnode scripts/check-boundary.jspass.
- 主要言語
- JavaScript
- スター
- 0
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sennaicodes/codearena のほかの issue
-
Add issue and pull request templates再び着手できるかも @franciscorodr26 が 17 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンdocumentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
sennaicodes/codearena#13 · コメント 1 件 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
sennaicodes/codearena#31 ·
sennaicodes/codearena の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
flarum/framework#5301 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
AOSSIE-Org/BabyNest#284 ·
メンテナーはふだん 1 日以内に返信
-
status:untriaged
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
midnightntwrk/servicedesk#275 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
seek4science/seek#2762 ·
メンテナーはふだん 5 日以内に返信