1,200ページを超える静的 Next.js サイトのアクセシビリティ・SEO 検査を 2 段に分け、HTML だけで判定できる項目は全ページで、描画が必要な項目は Lighthouse で種類ごとに 1 ページだけ測定する手法。
シェアックリップ
シェアされたアックリップです。
そのほかの #Lighthouse ピックアップ
アクセシビリティをチェック・テストするためのツール・拡張機能・スクリーンリーダーの一覧。自動チェック、コントラスト測定、スクリーンリーダー利用など、成果物検証の手段を紹介している
セマンティックHTMLの重要性とスクリーンリーダーへの影響を解説。著者のポートフォリオサイト監査で発見した3つの問題——画像のalt属性欠落、フォームラベルの接続不良、見出し階層のスキップ——と修正方法を紹介する。
Lighthouse がアクセシビリティ 100 点でも見落とす項目を、手動チェックで検出。装飾的なアイコンの aria-hidden 設定、ランドマークの配置と aria-labelledby による命名、HTML の妥当性など、実装例を交えて解説。
Lighthouse と axe で頻出するアクセシビリティエラー(代替テキスト・色コントラスト・ボタン名前・フォームラベル)の意味と修正方法を解説する。
Lighthouseで最も頻出するアクセシビリティ失敗4つ(色コントラスト・代替テキスト・リンク名・フォームラベル)の原因と最小限の修正方法をWCAG 2.2に対応させて解説している。
Lighthouse の accessibility score が実際に何を測り、何を測らないか。100点でも manual testing が必要。自動テストの限界と manual checks が必要な10項目の解説。
そのほかの #React ピックアップ
ブレッドクラムコンポーネントの実装例を紹介。型定義で最後の項目の href を省き、HTML では aria-current="page" と aria-hidden を使い分け、JSON-LD では position を 1 から始めてリンクのない項目の item を省く設計。
React で一時メール確認フローを実装する際、ステートマシンで状態を明示的に管理し、aria-live で状態変化を通知。ポーリング時に cancelled フラグで不要なレンダリングを避け、アクセシビリティと性能の両立を実現する。
メール検証フォームの実装で、状態管理で各段階を明確にし、aria-invalid で無効状態を示し、CSS で空間を予約することで、フォーカス移動とレイアウトシフトを避け、アクセシビリティと UX の両立を実現する。
React でメールフォームを実装する際に、フォーカス管理とアクセシビリティを両立させる方法。フォーム状態(読み込み中、成功、エラー)の変化を WAI-ARIA で通知しながら、キーボード操作とスクリーンリーダーに対応。エラー時のフォーカス復帰の実装方法を解説。
AIが生成するアコーディオン実装がキーボード操作やスクリーンリーダー対応を見落とす理由と、aria-expanded属性で状態を正しく管理することの重要性を、実装例を示しながら解説する。見た目だけでなく状態を属性で持たせることが、アクセシビリティと実装精度の両立につながることを論じる。
日本語のIME入力中のキーボードハンドラバグを3つのパターンに分類し、各修正方法を提示。15のOSSプロジェクトでのマージ実例を紹介するWeb開発者向け記事。
そのほかの #テスト・検証 ピックアップ
【名古屋開催】第13回 ウェブアクセシビリティ勉強会
アクセシビリティの実装・検証について、スクリーンリーダーやキーボード操作などの支援技術を実際に体験し、WCAG達成基準を確認するワークショップ形式の参加型勉強会。
固定フッターがキーボード操作のフォーカスを隠す問題の検証ツール。ResizeObserver で要素の高さを追跡し、WCAG 2.4.11 の達成基準を参考に改善方法を示す。
AIと自動検査ツールを使ってWebページのアクセシビリティを検査する方法を、実装例で解説。WCAG 2.2に基づく6項目(色のコントラスト、代替テキスト、ボタンサイズ、幅320での表示、動き設定の尊重)の検査スクリプトとコマンド例を提示。自動検査の限界(説明文の内容評価、ボタン間隔)についても述べる。
WCAG 2.1のコントラスト比判定を相対輝度から計算し、5つの基準(AA/AAA通常文字/大文字、UI要素)に対応するTypeScriptの実装方法を解説。背景色に応じた合格色の自動提案アルゴリズムも含む。
AI チャット UI で token stream を実装する際、各チャンク到着時に assertive live region を更新するとスクリーンリーダーが頻繁に割り込み、ユーザーの操作フォーカスが混乱される問題を、デバッグ手法とともに解説。
ランディングページのキーボードアクセシビリティチェック。フォーカスリングの表示確認方法、:focus-visible による CSS 実装例、Tab キーで行う手動確認フローを解説。