2017-08-19 106 views
4

我瞭解到<abbr>標籤應該被屏幕閱讀器解釋,它的title屬性會在被屏幕閱讀器讀取時替換它的內容。但是,當我嘗試這種方式時,MacOS(Firefox和Safari)Voiceover和NVDA(Windows 10,Edge和Firefox)都無法這樣工作。下面是相關的代碼部分:屏幕閱讀器如何閱讀<abbr>標籤?

... bla bla bla <abbr title="nervus">N.</abbr> peronaeus ... 

(這是一個醫療表達式)

IMO本應讀作」 ......唧唧歪歪含有nervus peronaeus ......‘但它讀作’.. 「,然後長時間的沉默(或屏幕閱讀器甚至停止在它之前),顯然是因爲點,然後」peronaeus ...「 - 沒有」nervus「...沒有」nervus「...

Am我正確使用該語法還是存在某些我缺少的內容?或者,如果這是正確的:是否有任何WAI-ARIA代碼或類似的東西可以添加,以使它在大多數屏幕閱讀器中工作?

+1

您使用的語法絕對正確。但是你在哪裏閱讀屏幕閱讀器應該發佈標題而不是內容? –

+0

我沒有讀它,我被告知,在我採取的一門課程 - 顯然不太好... – Johannes

回答

3

您不能真正依靠聽到該元素的title屬性的用戶。 Here's a good resource on how screen readers process HTML elements,並abbr,條目如下:

正如你可以看到,屏幕閱讀器通常只是讀出的元素含量。由於N.包含一個句點,它只是讀出「N」,然後在此期間完全停止。您可以設置屏幕閱讀器來閱讀title內容,但它是一個選擇性設置,所以您不應該依賴它。沒有辦法爲title的屏幕閱讀器設置內容。

+0

感謝那些信息 - 該網頁是一個非常好的資源,我之前並不知道它 – Johannes

+0

@Johannes我真的沒有辦法讓屏幕閱讀器讀取'abbr'的標題。屏幕閱讀器會讀取它,如果它明確設置爲首選項。我認爲閱讀的唯一方法就是拼出單詞。 – Li357

+0

嗯,我正在考慮具有不同屬性/ CSS樣式的'span'標籤(一個隱藏到另一個「可見」*僅用於屏幕閱讀器),但不知何故,這似乎中斷閱讀流程並被視爲單獨的短語(即停在標籤邊界處),儘管理論上像「span」這樣的內聯元素不應該這樣。此外,這是在一個列表項內,跨度作爲列表中的其他項目宣佈...我想我必須使用不同的措辭,但我不應該更改我的客戶的文本... – Johannes

1

abbr標記只是誤導。

在你的情況下,你不想僅僅向盲人用戶提供信息,而是忽略那些看起來是常見的醫學縮寫術語的人。非盲人用戶,不使用屏幕閱讀器,需要此信息。

相反,使用盲文顯示器的盲人確實喜歡縮寫。很多。


如果你想處理縮寫一種非常有效的方式,用一個詞彙:

<a href="/glossary/nervus-peronaeus" 
     aria-label="Nervus peronaeus" 
     title="Nervus peronaeus" class="glossary">N. Peronaeus</a> 

aria-label有鏈接很好的支持,並且title屬性可以用來給一個提示非屏幕閱讀器用戶。

例如,術語表可能插入頁面底部。

<a href="#nervus-peronaeus" 
     aria-label="Nervus peronaeus" 
     title="Nervus peronaeus" class="glossary">N. Peronaeus</a> 

我的首選處理縮寫的方法是不使用它們。

Nervus Peronaeus 

清除。簡潔。這似乎可能是微不足道的,但是當你認爲縮寫值得解釋時,這是每個人最好的方式(運動,視覺,認知障礙)。

當然,對於縮寫語言的一部分,你不需要解釋它們(FBI,NATO,...)。在專業人士的醫療網站中,只有「N. peronaeus」這個詞可能成爲目標公衆的語言的一部分。