ということを踏まえると、次のような結論になった
- コンテンツ的な画像には可能なかぎりimg要素を使用し、aria-hidden=trueは適用しない
- 装飾的な画像はimg要素でもそうでなくてもかまわないし、aria-hidden=trueを適用してもよい
ということを踏まえると、次のような結論になった
- コンテンツ的な画像には可能なかぎりimg要素を使用し、aria-hidden=trueは適用しない
- 装飾的な画像はimg要素でもそうでなくてもかまわないし、aria-hidden=trueを適用してもよい
「懸念が一般論としてあるだろう」という話をされていることはなんとなくわかっていたものの、僕の中では一般化できるほどに具体的な事例を知らなかったので参考にお聞きしたという次第でした。
ただそうなってくると、画像がimg要素で表示されているかそれ以外の方法で表示されてるかで事情が変わってきそうだとも一方で思いました。たとえば、background-imageとかsvg要素とか。でも将来的にUA/ATの進歩によっては、AOMとかも関係なく、
「懸念が一般論としてあるだろう」という話をされていることはなんとなくわかっていたものの、僕の中では一般化できるほどに具体的な事例を知らなかったので参考にお聞きしたという次第でした。
ただそうなってくると、画像がimg要素で表示されているかそれ以外の方法で表示されてるかで事情が変わってきそうだとも一方で思いました。たとえば、background-imageとかsvg要素とか。でも将来的にUA/ATの進歩によっては、AOMとかも関係なく、
これって僕が何か思い違いをしていますか…? トミーさんのお考えなどあればお聞きしたいです。
これって僕が何か思い違いをしていますか…? トミーさんのお考えなどあればお聞きしたいです。
ただ、これを踏まえて改めて調べてみると、VoiceOverでは画像はaltが空になっている時点でそもそもVoiceOverカーソルで選択すること自体ができませんでした。したがって、ダウンロードの操作もできないと思われます。
だとすると、画像のダウンロードを可能にしたければaltを設定することも併せて行わないと筋が通らないし、altが空になっているのであればaria-hidden=trueがついていてもそうでなくても実際は同じではないかと思い至りました。
ただ、これを踏まえて改めて調べてみると、VoiceOverでは画像はaltが空になっている時点でそもそもVoiceOverカーソルで選択すること自体ができませんでした。したがって、ダウンロードの操作もできないと思われます。
だとすると、画像のダウンロードを可能にしたければaltを設定することも併せて行わないと筋が通らないし、altが空になっているのであればaria-hidden=trueがついていてもそうでなくても実際は同じではないかと思い至りました。
というわけで、後ほど改めて記述内容を見直させていただきます。ご指摘ありがとうございました!
というわけで、後ほど改めて記述内容を見直させていただきます。ご指摘ありがとうございました!
- さらに言えば、記事では<svg role="img" aria-label="...">という例を紹介しているが、実際には<a href="..." aria-label="...">という実装を採用している。本当は前者の実装を採用したいが後者のようにしているのは、ライブラリで提供されるアイコンにデフォルトでaria-hidden=trueが付与されているため、これを上書きするのはコードの管理上煩雑になる懸念があると考えたため
- さらに言えば、記事では<svg role="img" aria-label="...">という例を紹介しているが、実際には<a href="..." aria-label="...">という実装を採用している。本当は前者の実装を採用したいが後者のようにしているのは、ライブラリで提供されるアイコンにデフォルトでaria-hidden=trueが付与されているため、これを上書きするのはコードの管理上煩雑になる懸念があると考えたため