Webサイトのアクセシビリティについて【コーディング編】

  • このエントリーをはてなブックマークに追加

こんにちは、石上です。
前々回に引き続きアクセシビリティについて書きたいと思います。
今回はコーディング(HTML化)についてです。

コーディングで、注意したいポイント

文字サイズ

HTMLで文字サイズを指定するにはem、px、pt、%といった記述方法があります。
多くのサイトで%(パーセント)かpx(ピクセル)を使用いると思いますが、この2つはアクセシビリティの視点から見ると「ブラウザ機能の文字サイズが有効か」という点で大きな違いがあります。
(ちなみに、px:絶対値(大きさの規格が決まっているもの)、%:相対値(ブラウザの規定の文字の大きさを100%として表示サイズを調整するもの)

おそらく多くの人がブラウザの文字サイズを変更しないまま利用されていると思いますが、高齢の方などはブラウザ機能で文字サイズを変えていることがあります。
(文字サイズは一度変更するだけで、表示されるサイトの文字のサイズが変わるという機能です。IEの場合は、ブラウザメニューの「表示」⇒「文字のサイズ」から変更できます)

%で作成した場合にはブラウザ機能での文字サイズ変更にも対応して文字サイズが変わりますが、pxで作成するとブラウザ機能の文字サイズ変更が効きません。(pxで指定したサイズで表示されます)

デザイン通りにHTMLで見せたいという場合にはpxは有効ですが、アクセシビリティに配慮が必要なサイトの場合には、%で作成することが必要です。
(pxで作成しても文字サイズ可変ボタンを置けばいいという考え方もありますが、ユーザーの環境を強制的にサイトに合わせて文字可変ボタンを押させるというのもいかがなものかと個人的には思います。)

タブメニュー

複数の要素をタブで切り替える手法は、いまや当たり前になりました。
しかし、このタブメニューでもアクセシビリティとして注意したい点があります。

音声読み上げの場合にどういう順序で読み上げられるのか?という点に注意が必要だと思います。
音声ブラウザは、見た目ではなく、ソースの記述されている順番で読み上げていきます。
見た目は同じでも、記述の仕方次第で、わかりづらい内容になってしまうこともあります。
下記に記述方法の違いによる読み上げられる順序例の図を用意しました

ブログネタ画像_r2_c2

パターンAは見出し1⇒見出し1の内容⇒見出し2…の順で読み上げ、一方パターンBは見出し1⇒見出し2⇒見出し3⇒見出し1の内容…という順番で内容にもよると思いますが、パターンAの方がわかりやすく読み上げられます。

文字の送り仮名

例えば「行って」という文字ですが、「いって」と読むか「おこなって」と読むかは前の文脈で変わってきます。
しかし音声ブラウザの場合には、前の文脈に関係なく「いって」と間違って読まれることが多々あります。
これを回避するために「おこなって」の場合には「行なって」と「な」を送り仮名に入れるなどの工夫が必要です。
他にも地名や難読のものには、後ろに読み仮名をいれるなどの工夫もするとわかりやすくなります。
(※これらは、コーディングというよりも素材として準備する段階での話ですが…)

画像のALTタグ

音声読み上げのことを考慮して、画像にはALTタグを必ずいれるようにします。
画像によりますが、文字だけであればその文字をALTに入れ、それ以外の図表の場合にはキャプションではなく、伝えたいことを正しく記述するようにします。
(図ではなく、文字だけで内容がわかるようなALTタグが望ましいですね)

文法チェック

アクセシビリティに注意をするうえで、一番の難関がこの文法チェックだと思います。
これは、HTML、CSSの文法や構文がアクセシビリティガイドラインに準拠しているかどうかを、ソースやCSSからチェックして点数を表示してくれます。

代表的なツール
・Another HTML-lint
・CSS Validation Service

満点を目指すとなると、場合によってはデザインからやり直したり、表現方法の変更など様々な修正が後から発生することがあります。
このチェックでどこまで満点に近付けるかは、やってみないと分からないところもあるため、クライアントにもある程度、ご理解をいただきたいところです。

ざっくりではありますが、アクセシビリティで注意したいことです。
今後のWebサイトの制作時には、アクセシビリティついて制作会社とクライアント企業とともに一緒になって考えていくことが大切になっていくと思います。

執筆者:8bit

関連記事

プログラミング

【phpdotenv】PHPで環境変数を取り扱うお話

PHPでサーバーの環境ごとに設定ファイルを用意する場合、config.phpなどのファイルにデータベースの接続情報やAPIのキーなどをdefineで登録すると思います。 これは昔からある一般的なやり方ですが、例えば「ローカル環境やテスト環境と本番環境で情報を出し分けたい」「GitHubやSubversionなどに接続情報を管理されたくない」ということがあるかと思います。 Linuxの場合は「.env」でユーザーごとの情報をあらかじめ設定することが可能ですが、PHPだとデフォル […]

Webサービス

【CAPTCHA系】reCAPTCHAの代替サービスを紹介するお話

みなさん、reCAPTCHAを使ってますか? CAPTCHAと呼ばれる機能は問い合わせフォームやログインフォームなどいわゆるbot系対策として有効で、その中でもreCAPTCHAは無料かつ簡単に導入できるたため、様々な場所で使われてます。 目次1 2024年4月から実質有料化?2 他にないのだろうか?3 アカウントを作る4 PHPでの実装5 最後に 2024年4月から実質有料化? しかし、2024年4月から今まで100万リクエストまで無料だったのが、1アカウント合計1万リクエ […]

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。