日付とアイコンまわりのアクセシビリティ対応についてのメモ
2019年1月5日
このサイトの日付とアイコンまわりの実装を、よりインクルーシブにするために少し手を加えました。
日付のフォーマット
VoiceOverでこのサイトを読み上げさせたら、日付部分が「ニーゼロイチキュー、スラッシュ、ゼロイチ、スラッシュ...」のように読み上げられるので、やっぱり「2019年01月04日」のフォーマットにした。これだとゼロは読み上げないんですね。
「2019/01/04」の方が見た目がシンプルで好きなんですけど、「スラッシュ」で読み上げられちゃうのがいけてない。スクリーンリーダーユーザは慣れているので、どちらでも問題ないんでしょうけど、やっぱり、「ニセンジューキューネンイチガツ...」と読み上げてくれたほうがわかりやすい。
あとは、どうせゼロが読み上げられないなら、ゼロをとって「2019年1月4日」にしちゃったほうが良いか。ということで、そこも修正しました。いつも同じこと考えるんですけど、結局このフォーマットに落ち着くんですね。
アイコンまわりの実装
アイコンまわりのHTMLとSassを以下のように変更しました。
HTMLの変更
アイコンが見えにくいという人のためにtitle
属性を追加してマウスオーバーでツールチップが出るようにしました。
// 変更前
<span className={styles.posted}>{post.airtable.data.date}</span>
// 変更後
<span className={styles.posted} title="投稿日">{post.airtable.data.date}</span>
Sassの変更
アイコンは擬似要素(::before
)を使って表示しているんですが、以前はcontent: "Noted on"
と英語表記にしていたところを日本語表記に直しました。読み上げの際に「Noted on」ってなんだかわかりづらかったので。
/* 変更前 */
.posted::before {
content: "Noted on"; background: url(../assets/baseline-event_note-24px.svg) no-repeat 0 0;
background-size: 20px 20px;
}
/* 変更後 */
.posted::before {
content: "投稿日"; background: url(../assets/baseline-event_note-24px.svg) no-repeat 0 0;
background-size: 20px 20px;
}
あと、ついでに「New Window」アイコンについてもcontent
部分を「別窓で開きます」に変更しておきました。これで「(リンクテキスト)別窓で開きます」と読み上げられるようになりました。読み上げの際にリンクテキストとの間に一拍入ると、よりわかりやすいと思うんですが、その辺は調整できるのかな。。。