Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Accessibility pass on battles and practice

オープン
#23 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript, nextjs, nodejs, playwright

調査の方向性

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 の本文から書いたものです。

説明

accessibility help wanted

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.js used on dark backgrounds.
  • Respect prefers-reduced-motion for the animations on these pages.
  • Add automated checks with @axe-core/playwright to the Playwright specs in frontend/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 lint and node scripts/check-boundary.js pass.
主要言語
JavaScript
スター
0
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sennaicodes/codearena のほかの issue

sennaicodes/codearena の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。