顔文字要怎麽做無障礙啊

我以前寫半月記會用很多emoji,作爲一種語氣補充。 後來發現用螢幕閱讀器讀自己文章的時候真的好累。emoji會打斷句子的連貫性。

比如遇到 🤣😅🤣,婷婷就會唸「笑得在地板上打滾、帶冷汗的笑、笑得在地板上打滾」, 完全精神汙染。 (婷婷是閲讀器的名字。)

如果用的不是預設的黃色emoji,句子會變得更加長。 比如不用黃色ok手勢 、用淺色皮膚ok手勢, 膚色就會被一起念出來……!

我也很喜歡顏文字。但婷婷無法識別顏文字的含義,只會逐字念出每個符號。舉手歡呼的顏文字 會變成「左括號、片假名、大於、希臘字母 omega……」。 較新版本的Windows講述人稍微智慧一些,直接掠過它不念。

無障礙規範的建議是不要使用顏文字,如果一定要使用, 用<img>包裹一個實際的圖像來呈現。

但是我真的很想用顔文字。(對手指)

現在這篇貼文是參考了Pope Tech處理emoji的做法。 給包含顔文字的元素加上“aria-label”解釋說明其含義,然後把顏文字本身標記為“aria-hidden=‘true’”,讓螢幕閱讀器跳過它不讀。 例如:

<span role="img" aria-label="舉手歡呼">
  <span aria-hidden="true">(ノ>ω<) ノ</span>
</span>

這樣閱讀器就會把顏文字當作圖形,並且只念語意(也就是“aria-label”裡面的內容)。

或者簡化一些,在正文裡寫出顏文字的意思,再把顏文字本身標記為“aria-hidden=‘true’”,讓螢幕閱讀器跳過它不讀。

(舉手歡呼)
<span role="img" aria-hidden="true">(ノ>ω<) ノ</span>

這樣也許對看不懂顏文字的讀者也很友好。

emoji能不用就不用。如果想要表達的含義和emoji原本的意思不一樣就加“aria-label”:

<span role="img" aria-label="能量满满">⚡</span>
<!-- 如果沒有aria-label,螢幕閱讀器會直接念“高壓電”。 -->

僅作裝飾的時候就加“aria-hidden=‘true’”標籤:

<span aria-hidden="true">🚩</span>

不知道其他人是怎麽處理的啊……

?隨機抽選一篇