Reactでアイコンだけのボタンやリンクに名前がないと、スクリーンリーダーが「button」とだけ読み上げる問題を扱う。aria-labelや視覚的に隠したテキストで名前を付ける方法を、axeの検査結果とともに示す。
シェアックリップ
シェアされたアックリップです。
そのほかの #スクリーンリーダー ピックアップ
【名古屋開催】第13回 ウェブアクセシビリティ勉強会
アクセシビリティの実装・検証について、スクリーンリーダーやキーボード操作などの支援技術を実際に体験し、WCAG達成基準を確認するワークショップ形式の参加型勉強会。
画像の文字を読み取ってコピーできるChrome拡張「Scribe」の公開までを、目の見えない作者が書いた記事である。結果欄で矢印キーが効かない問題はNVDAのブラウズモードによるものと切り分け、Tabキーで編集欄へ移る案内で対処した。Geminiに画像を送る前の同意画面も紹介している。
スクリーンリーダーを使う視覚障害のある筆者が、ウェブサイトのログイン画面で遭遇する障壁を解説した記事である。ラベルのないサインインアイコン、パスワード表示の切り替え、チェックボックス、分割された二段階認証の入力欄などを取り上げる。
WordPressのヒーロースライダーで、画像をWebPに変換するだけでなく、優先読み込み・遅延読み込み・レイアウト確保を組み合わせ、表示されていないスライドをaria-hiddenで読み上げ対象から外す手法を解説する記事。
レスポンシブなレイアウトで CSS の order や column-reverse によって見た目の順番だけを変えると、キーボード操作と読み上げの順番が見た目と食い違うことを解説する。HTML の論理的な読み順を保つべきだと論じる。
axe、Chrome DevTools、スクリーンリーダーがアクセシビリティの経路の異なる場所を見ていることを整理し、自動検査が通っても、キーボード操作や読み上げの確認は別に必要だと解説している。
そのほかの #WAI-ARIA ピックアップ
WordPressのヒーロースライダーで、画像をWebPに変換するだけでなく、優先読み込み・遅延読み込み・レイアウト確保を組み合わせ、表示されていないスライドをaria-hiddenで読み上げ対象から外す手法を解説する記事。
WordPressのヒーロースライダーの画像を、PNGからWebPに変えて合計約7.8MBから約316KBへ軽くした手順を解説する。あわせて、非表示のスライドを aria-hidden で読み上げの対象から外す方法と、Playwright による自動確認を紹介する。
モーダルダイアログのフォーカス管理を解説する記事。フォーカスをダイアログ内に閉じ込める実装と、閉じたあとに元の要素へ戻す挙動を扱う。HTML の dialog 要素を使えば、背景の操作を止める処理を自前で書かずに済むとする。
Fluent UIのReact v9とWeb Componentsが、Shadow DOMやPortal、ダイアログでフォーカスやキーボード操作をどう扱っているかを、公式ドキュメントとソースで確かめながら論じる記事である。UIライブラリの設計判断が主題である。
Shadow DOM の内側にあるボタンなどの要素が、支援技術にどう伝わるかを扱う記事である。DOM・Accessibility Tree・プラットフォーム API の関係を仕様と Chrome での観察から整理し、カスタム要素に意味を持たせる設計の選択肢を示している。
管理画面の共通シェルに、キーボードや読み上げ利用者が本文へ直接移動できるスキップリンクを追加した修正の解説である。クリック時だけ main に一時的に tabindex を付ける手法と、装飾アイコンを支援技術から隠す設定を扱う。
そのほかの #axe ピックアップ
AIがアクセシビリティをレビューできる範囲は、ソースコードだけを読むか、実行中のブラウザーやaxe-coreの結果まで受け取れるかによって変わると整理する。WCAG適合と自動テストの合格は同じではないことも説明する。
アクセシビリティ・オーバーレイを導入した62サイトを、導入の有無で比べた研究を紹介する動画。axe-core による自動テストでは、約9割のサイトでWCAG違反の数に測定できる差は見られなかったという。
axe、Chrome DevTools、スクリーンリーダーがアクセシビリティの経路の異なる場所を見ていることを整理し、自動検査が通っても、キーボード操作や読み上げの確認は別に必要だと解説している。
銀行のWebサイトの監査を題材に、自動チェック・支援技術に見える情報の確認・NVDAによるスクリーンリーダーのテストなどを組み合わせ、どのツールをどの問題に使うかを判断する手順を示す動画。
筆者が監査した小規模事業者のサイトでは、自動チェックツールが見つけた WCAG 違反は全体の30〜40%程度だったと述べ、スクリーンリーダーでの読み上げや代替テキストの内容、キーボードでの操作など、人の確認が要る項目を挙げる。
AIモデルによる監査は自動検査ツールより多くの違反を見つけるが、指摘の約半数は人の確認が要る。著者は自動検査を合否の基準に残し、モデルには結果の仕分けと手動で確かめる項目の提示を任せる手順を勧める。
そのほかの #React ピックアップ
自分のアプリの紹介サイトに置いた四つのアニメーション付きデモのコードを振り返り、同じ遅延処理が繰り返されている点や、動きを減らす設定(reduced motion)の確認を行っていない点を解説している。
Reactのフォーム部品の設計を、ラベルやメッセージ行などの共通の構造、react-hook-form と zod への接続、スマートフォンでの操作の3点から解説する。例には作者が開発するUIライブラリを使っている。
Fluent UIのReact v9とWeb Componentsが、Shadow DOMやPortal、ダイアログでフォーカスやキーボード操作をどう扱っているかを、公式ドキュメントとソースで確かめながら論じる記事である。UIライブラリの設計判断が主題である。
リンクプレビュー画像に代替テキストを付けるための og:image:alt と twitter:image:alt の書き方を解説する記事。カードの画像で伝えるべき内容の書き方と、Next.js App Router での設定方法も扱う。
React のモーダルダイアログを、役割の指定・初期フォーカス・フォーカストラップなどの要件から解説する記事。oks-ui の Modal を Chromium・Firefox・WebKit で検証した結果も載る。
React アプリのアクセシビリティで見落とされやすい課題。モーダルとルート変更時の focus management、キーボード操作、ARIA live regions による動的コンテンツの告知がスクリーンリーダーユーザーに必須。テスト方法と実装例を TypeScript で解説。
そのほかの #テスト・検証 ピックアップ
【名古屋開催】第13回 ウェブアクセシビリティ勉強会
アクセシビリティの実装・検証について、スクリーンリーダーやキーボード操作などの支援技術を実際に体験し、WCAG達成基準を確認するワークショップ形式の参加型勉強会。
イスラエルの障害者平等権規則と規格 IS 5568 AA(WCAG 2.1 AA 準拠)への適合を、ブラウザ上で動く JavaScript により自動的に確かめる方法を解説する記事。代替テキスト・見出し構造・コントラスト・言語と文字方向の確認項目を示す。
Using Accessibility Checker Pro + Claude AI to Remediate a Large WordPress Site: Courtney Robertson
WordPress の大量の記事を、アクセシビリティ検査ツールの結果をもとに Claude Code で修正した事例の発表である。YouTube の埋め込みを字幕付きプレーヤーへ置き換えるなどの修正で、AI が正しく直せた箇所と人の確認が要った箇所を示す。
会員登録フォームで自動入力が効くかを1分で確かめる方法を解説する記事。入力欄に autocomplete の値を付けて入力目的を伝える意味を、WCAG 達成基準1.3.5(入力目的の特定)の解説をもとに示す。
AIエージェントが検証していないのに「テストは通った」と報告する例を挙げ、アクセシビリティの検査をAIだけに任せられない理由を論じる。ルールに基づく検証とAIによる自動化を組み合わせる方法を示すと述べている。
AIがアクセシビリティをレビューできる範囲は、ソースコードだけを読むか、実行中のブラウザーやaxe-coreの結果まで受け取れるかによって変わると整理する。WCAG適合と自動テストの合格は同じではないことも説明する。