このリポジトリは、Webサイトやアプリの「リフロー(再レイアウト)」時のアクセシビリティを自動で検証できるE2Eテスト環境です。
WCAG 2.2「1.4.10 Reflow」基準に沿い、画面幅や文字サイズの変化・動的UI表示時に「水平スクロールが発生しない」「レイアウト崩れがない」などを自動チェックします。URLリストを用意するだけで、複数ページを一括検証できます。
- Node.js v18 以上
npm/npxが利用できれば OK
- (任意) Bun v1.2 以上
- Bun を使うとインストール・実行が高速になりますが、必須ではありません
| パッケージマネージャ | コマンド |
|---|---|
| npm | npm install |
| Bun | bun install |
# npm
npx playwright install --with-deps
# Bun
bunx playwright install --with-depsurls.txt にテストしたい フルパスのURL を 1 行につき 1 件記述してください。空行と # から始まる行は無視されます。
# 例
https://playwright.dev/
http://localhost:3000/
以下のスクリプトは package.json に定義されています。npm でも bun でも同一の書き方で実行可能です。
| 実行内容 | コマンド |
|---|---|
| 通常実行 | npm run test / bun run test |
| HTML レポート生成 | npm run test:report / bun run test:report |
| GUI (Playwright UI) | npm run test:ui / bun run test:ui |
| ヘッド付きブラウザ | npm run test:headed / bun run test:headed |
npmユーザーはnpx playwright testでも直接実行できます。
- HTML レポート:
playwright-report/ - ログ・動画:
test-results/ - スクリーンショット:
screenshots/
# アプリを起動後、ブラウザでアクセス可能な URL を `urls.txt` に追加してください。
# 例: npm run devurls.txt には http://localhost:3000/ のようなフルパスを追加します。
# public ディレクトリを公開し、ブラウザでアクセス可能な URL を `urls.txt` に追加してください。
npx http-server public -p 8080urls.txt には http://localhost:8080/index.html のようなフルパスを追加します。
以下は機密情報またはビルド成果物のため Git 管理から外すことを推奨します。
node_modules/,.bun/(依存パッケージ)playwright-report/,test-results/,screenshots/(テスト成果物)*.log,npm-debug.log*,yarn-debug.log*(ログ)- 個人メモ:
task.txtなど
.gitignore に未登録の場合は追記してください。
- WCAG 2.2 1.4.10 Reflow 達成基準に基づき、リフロー時のアクセシビリティを自動検証します。
- 主要シナリオ例:
- ビューポート幅 1280→320 で水平スクロールが発生しない
- テキストサイズ 200% 拡大時もレイアウト崩れや文字重なりがない
- 動的 UI (モーダル等) 表示時も Reflow 要件を満たす
- 詳細シナリオは
test.spec.mdを参照
- テストロジック:
tests/reflow.spec.ts - URL 管理:
urls.txt
さらに詳細なテスト仕様は
test.spec.mdを参照してください。