世界を動かす技術を、日本語で。

アクセシブルなUIを構築する自己中心的な理由

2025年6月17日原文(nolanlawson.com)

概要

  • アクセシビリティ は道徳的理由だけでなく、 自己利益 の観点からも重要性を持つ。
  • セマンティックなマークアップは デバッグ性テスト性 を大きく向上。
  • ARIA属性やロール の活用で、UI設計や命名も明確化。
  • キーボード操作性 の向上は、開発者自身にも恩恵。
  • アクセシブルなUIは、 自分自身の作業効率化 にも直結。

アクセシビリティを自己利益で考える理由

  • アクセシビリティ は「道徳的に正しい」だけでなく、 開発者自身のため にも役立つ要素。
  • 「野菜を食べなさい」的な説得は効果が薄く、 自己利益 に基づく理由の方が行動変容を促進。
  • 本記事では 指摘や説教なし で、アクセシブルなUI構築が自分のためになる理由を解説。

デバッグ性の向上

  • divタグ乱用 (div soup)は、DevToolsでの 構造把握 が困難。
  • セマンティックな tableタグARIAロール の利用で、 要素の役割 が明確化。
    • 例:<table>, <th>, <td>role="table", role="row", role="cell"などの活用。
  • CSS-in-JSなどでHTMLが煩雑化しても、 構造の意図が読み取りやすい

命名の明確化

  • UIコンポーネントの命名 は難題だが、 WAI ARIAガイドライン で標準化可能。
    • 例:「autocomplete」「dropdown」→「combobox」。
  • ARIA属性やロール を使うことで、 一貫した命名CSSセレクタ としての利用が可能。
    • 例:[aria-selected="true"]でスタイリング。
  • ロールやARIA属性 に沿った思考で、 変数名やCSSカスタムプロパティ も直感的に設計。

テスト性の向上

  • アクセシブルなUI は、 テストコード の記述も簡潔・堅牢に。
    • 例:PlaywrightでgetByLabelgetByRoleの活用。
  • divタグだらけ のUIでは、 テスト対象要素の特定 が困難かつ脆弱。
  • セマンティクスに基づくテスト は、UIのクラスや構造変更にも強い。

パワーユーザーへの配慮

  • キーボード操作 (Escでダイアログ閉じる、Enterで送信など)の未対応は 作業効率低下 の原因。
  • プロダクティビティツール (例:Slack, GMail)では、 Tabやフォーカス制御 の正確さが必須。
  • 開発者自身 もパワーユーザーであることが多く、 自身の体験向上 にも直結。

結論と今後への期待

  • 個人的理由 として、筆者は視覚障害の家族や知人の体験からアクセシビリティの重要性を痛感。
  • WebAIM調査 では、平均51件/ページのアクセシビリティエラーという現状。
  • アクセシブルなUI構築は 難易度が高いわけではない。最低限の対応で十分な効果。
  • 将来的には AIツール による自動化にも期待。
  • 「野菜を食べなさい」的な啓発 は限界。 自己利益 を動機としたアプローチが有効。
  • アクセシブルなUI構築 は他者のためだけでなく、 自分自身の作業効率化・快適化 にも繋がる。

Hackerたちの意見

自己中心的な理由でアクセシビリティに頼らざるを得ないなんて、悲しいよね。ほとんどの人が、もっとアクセスしやすい世界から恩恵を受けるってことを考えれば、"それだけの価値はない"って言うのを聞くと、本当に悲しくなる。これは、"私たちのシステムにはバグがあるけど、盲目のユーザーだけがそれを体験してほしい"って言ってるのと同じだよね。なんか、世界をそんな風に見るのは暗い気持ちになる。

"それだけの価値はない"って言うのを聞くと、本当に悲しい。企業はそのうち痛い目に遭うだろうね。私は大企業で働いていて、アクセシビリティに関して多くの企業や個人から連絡が来てる。これは、彼らがアクセシビリティの問題を抱えたアプリやサイトを作った結果、修正や全面的にやり直す時間が必要になるってこと。今や、いくつかの州ではADAにオンラインやデジタルなものが含まれているから、CAやNYのいくつかの法律事務所がアクセシビリティの訴訟を起こしてる。2024年だけで4,000件以上の訴訟があったけど、そのほとんどは州レベルでのもの。企業がオンラインアプリやサイトのアクセシビリティを無視するのはリスクだっていうのは、今や非常に現実的な脅威だと思う。やっとトレンドが変わりつつあって、企業がアクセシビリティをもっと真剣に考えるようになってきた感じがする。

希望を持たせるために言うと、今のアクセシビリティに関する情報の質と量は過去最高だと思う。ウェブ開発の環境が変わっても、アクセシビリティを正しく実現する難しさを軽視するコメントを見たことがあるけど、ウェブ標準が能力に追いついていなかったのも一因だと思う。でも、オープンソースコミュニティがアクセシビリティを優先事項として扱う意識があまりなかったのも大きい。今は、アクセシビリティを犠牲にすることなく、あらゆる種類のウィジェットを使った高品質なパッケージが見つかるよ。

全く同感だよ。毎日支援技術を使う障害者として、これは二つの問題だと思う。1. 企業や個人がソフトウェアを設計する際にアクセシビリティを考慮しない。私の経験では、いつも後から付け足す形になってる(これがさらに難しくする要因になってる)。例外もあるけど、私の経験では稀だね。2. 教育システムが、ほとんどの人にこのことを教えていない。特に障害者と関わるために教育システムに入らない限り、普通の学生が通常の授業を受けているときには、全く触れられない。少なくとも、私が学校にいたときは、先生がちょっとした話の中で触れることはあったけど、専用の授業はなかった。確かに、後半は「開発者」の問題だけど、障害者について全く知らない人や、ツールやスキルを与えれば何ができるかを知らない人が多いのも大きな問題だよ。誤解しないでほしいけど、興味を持って質問してくれる人には教えるのは嬉しいし、積極的に奨励もしてる。でも、そんなことをしなくてもいいはず。これは私たちの教育システムが教えるべきことだと思う。アクセシブルな世界は、ほとんどすべての面でみんなにとって良いものだよ。

さて、私の視点から世界がどう感じられるか想像してみて(100%盲目)。20代の頃は熱心だった。Debianに参加して、Debianアクセシビリティプロジェクトを立ち上げた。 obscureな支援技術ソフトウェアのパッケージをたくさん作った。EclipseやQtのような主要製品にa11yのバグを提出して、実際に修正してもらったこともあった。少なくとも少しは変化をもたらせると思ってたんだ。でも、時が経つにつれて経験が積み重なっていった。実際、貢献者のほんのわずかな部分しか、アクセシビリティのようなニッチな分野を手伝うことにやる気がないことを学んだ。「自分の痒いところを掻く」っていうFLOSSの態度が、アクセシビリティが進まない理由だってことも分かった。そして、GNOME3が登場して、残っていたやる気や無邪気さが一気に消えた。IBMとSunは2008年末にアクセシビリティの取り組みをやめてしまったし、CORBAからDBusへの移行はアクセシビリティの取り組みを数年後退させた。私は打ちひしがれたし、たくさんのことを学んだ。その後、ウェブアクセシビリティはどんどん悪化していった。最近のほとんどのモダンウェブは、私のような人にはアクセスできないし、機能するアプリやサイトはほんの一握りだけ。廊下はどんどん狭くなっていってる。40歳以上の盲目の人が、会社のIT再編成で仕事を失う話をたくさん知ってる。デジタルデバイドはここにあって、誰も本当にそのことを話さなくなった。正直言って、「知っている人たち」はほとんど諦めてしまったんだ。悲しい話だよ。資本主義は小さなマイノリティに対しては全く配慮しようとしない。これは事実で、私が完全に受け入れるのに20年以上かかった。

100%同意だし、どんな理由でも改善は大歓迎だよ。ほとんどの人が「アクセシビリティ」の恩恵を受けるなら、それは本当のアクセシビリティじゃない。壊れたUIを直してるだけだよ。デザイナーは、普通の人にすら使いやすいUIを提供しないことを恥じるべきだし、ましてや障害者のことなんて考えてないよね。

それよりひどいよ。アクセシビリティは実際にはビジネスが望むこととは逆のことなんだ。文化的な背景や(時には)法的な支援が、ユーザーの自律性を守る最後の防衛線になってる。支援ソフトはただの別のユーザーエージェントで、ベンダーが意図したのとは違う方法でページを解釈する非標準ブラウザなんだ。スクリーンリーダーが盲目の人を助ける機能は、他の人が広告やアップセルを見つけてカットするのを助けたり、「ウェブデザイン」と呼ばれる濃い汚水から逃げたり、本来の目的に直行するのを可能にするんだ。アクセシビリティがなければ、ウェブはまたFlashみたいになって、自動的には解析できないものになっちゃう。もし文化的や法的な理由で障害者に配慮しなければ、私たちはすでにウェブ上で完全に自律性を失って、テーマパークの中で何かを買うためにお金を払うだけの存在になってたよ。段差をなくすって?ユーザーが「旅」を早く終えて、あまりお金を残さないために? -- 最近、LLMがこの状況を変えたけど、今のところ私たちに有利に働いてる。短期的には、ベンダーが何をしようと、どんなウェブサイトも機械で解釈可能にできるから。でも、これは始まりに過ぎない。ベンダーがGenAIを使ってユーザーを妨害する方法はまだわからない。

これらは素晴らしい人間的な感情だけど、価格の話になると変わってくるね。価格が関わると、専門的なアクセシビリティソフトのアプローチが多くの場合、はるかに効果的に思える。理想的なシナリオを考えてみて。真に素晴らしい、啓蒙されたリーダーシップの下にあるSaaS。チームリーダーは、1人の集中した開発者が2週間のスプリントで、全員にとって本当にアクセシブルにするための最後の一歩を踏み出せることを知っている。そうした開発者の時間の完全なコストは、非常に楽観的なシナリオで1000ドル、アメリカのチームなら4,000〜8,000ドルに近い。まず、アクセシビリティに向けたその追加のステップは、果たして元が取れるのか?次に、もしそうなら、それはその開発者がその2週間のスプリントでできることの中で、実際に収益を最大化する動きなのか?時々、稀にそうなることもあるけど、実際には市場調査が逆の結果を示すと思う。これは、物事が本当にどれくらいの時間がかかるか、リーダーシップが本当に啓蒙されているのかどうかなど、いつもの戦争の霧を加える前の話だよ。高品質のアクセシビリティ向上ソフトを作ることに特化した会社の代替モデルを考えてみて。このソフトは、ユーザーが使う可能性のあるほとんどすべてのプログラムとの互換性レイヤーとして機能することを目指している。例えば、頻繁にメモリ内のスクリーンショットを使って、盲目のユーザーが何が起こっているのかを理解する手助けをするかもしれない。あるいは、FOSSの開発者が、彼らが実行できるすべてのターミナルプログラムがスクリーンリーダーとうまく動作するようにすることに集中するだけかもしれない。このモデルには多くの利点があって、特に小さな顧客基盤のために他のすべての人に重い税金を課さないという点がある。これは非常に専門的で、顧客向けの仕事でもある。ソフトウェアの中で、専用のフロントエンドやUI/UXの専門知識が必要な場所があるとしたら、それはスクリーンリーダーの互換性レイヤーを設計している人だろう。人気の拡張機能「Dark Reader」をこのパラダイムの例として挙げるけど、ほとんどのウェブサイトで素晴らしい仕事をしていて、うまくいかないウェブサイトでは簡単に無効にできるし、ウェブサイトの運営者には何のコストもかからない。美的理由でこれに異議を唱える人もいるかもしれないけど、同じソフトウェアを使うために、まるごと別のインターフェースレイヤーを走らせるのはちょっと不格好に感じるよね。この美的な違反は、今回は誤解されていると思う。状況を考えると、この作業は専門化から大きな恩恵を受けると思う。実際、2025年にウェブをアクセシブルにするのは、2000年よりずっと簡単になっている。なぜなら、第三者が状況を劇的に改善して、アクセシビリティレイヤーに接続するのが「単に」セマンティックに正しいHTMLを書くことを必要とするだけになったから。今、もし「Dark Reader」が存在して、ページのスクリーングラブから明らかだけど、ウェブデザイナーにはわからない細かい詳細をページに挿入できるとしたら、それはほとんどのビジネスにとってはるかに良いアプローチになるだろうね。

自己中心的な理由に頼らなくて済むといいんだけどね。賛成だけど、それって人間がもっと優しくて共感的であればいいって願ってるのと同じだと思う。もしそうだったら、世界は今とは全然違うくらい良くなってるだろうね。

ウェブ版のカーブカット効果って感じかな。デジタル(そして物理的な)アクセシビリティはみんなに利益をもたらすよね。

カーブカットはそれほど良くないし、今のトレンドは高架横断歩道だよ。スムーズな舗装も大きな違いを生む。妻が車椅子を使っているから、こういう小さなことが彼女の生活をどれだけ改善するかは言い尽くせない。 > デジタル(そして物理的な)アクセシビリティはみんなに利益をもたらす でも面白いことに、この分野では車椅子用の歩道が視覚障害者用の tactile paving としばしば衝突することがある。あの触覚の突起はカーブの内側にあることが多いから、車椅子がそれを避けることができないことが多いんだよね。

私たちはデジタル(および物理的)アクセシビリティの恩恵を受けている。そうだったらいいのに。問題は、ウェブ上のビジネスが、アクセスできないことから直接利益を得ていることなんだ。注意経済は摩擦からお金を生む。典型的なウェブサイトは、ユーザーが少し迷子になるような迷路になっていて、商品や第三者の広告、トラッキングにさらされる時間を最大化するためなんだ。段差をなくすことは、どこに行けばいいか教えて、少ない労力でそれを実行できるようにするだけだから、迷路を早く抜けられるようになって、ビジネスはお金を失うんだ。

Hacker Newsで議論の続きを見る