2010-04-08 51 views

回答

6

屏幕閱讀器會將「&」讀爲「和」,純文字瀏覽器會將其顯示爲「&」。

你寫&的原因是因爲「&」是XHTML中的特殊字符,必須轉義。任何瞭解XHTML的瀏覽器/屏幕閱讀器都知道&是「&」符號('&'),並將其顯示爲「或」。

如果你正在寫的XHTML文檔,它不是如何讓你的ALT文本更多屏幕閱讀器友好的情況下 - 你必須&代替裸&符號或風險您的文檔沒有驗證,並可能顯示不正確。

3

您必須escape the plain & with a character reference等,以便有一個有效的XHTML文檔&

與符號字符(&)[...]可作爲標記定界符,只有當出現在他們的文字形式,或在註釋,處理指令或CDATA部分。沒關係(因爲符號的後面有一個空格) - 如果在其他地方需要,他們都必須用數字字符引用或字符串「&」 [...]

6

在HTML進行轉義。

在XHTML中 - &是格式錯誤,完全不能接受。

+0

但屏幕閱讀器如何讀取這個'&'? – 2010-04-08 10:40:32

+0

它不會。瀏覽器將解析HTML或XHTML並生成它將呈現的DOM。屏幕閱讀器將通過瀏覽器的提示讀取屏幕上的內容。 – Quentin 2010-04-09 07:42:27

+2

作爲一個經驗法則 - 編寫好的HTML,不要期望屏幕閱讀器要求你犯錯誤。 – Quentin 2010-04-09 08:09:16

0

總是使用正確的字符編碼來跳過&字符。在HTML中,它是& amp;或&#38 ;.在URI中,它是%26,而不是前兩者中的任何一個。不轉義語法字符會導致XML失敗。如果您的HTML將被整合或由XML引擎解釋,您的代碼將會中斷。

+0

'&'的正確代碼是'%26'而不是'%38'。注意'href =「foo%26bar」'與'href =「foo & bar」'不同,因爲前一個值聲明將被評估爲'foo%26bar',而後者將被評估爲'foo&bar'。 – Gumbo 2010-04-08 10:19:40

+0

正確的是,&符號的正確URI轉義爲%26,但href =「food & bar」是無效的URI語法。您提到的轉義是從用戶代理應用程序進行預處理的結果,而不是對URI本身的考慮。這就是爲什麼人們通常錯誤地轉義URI中的字符的原因。 – 2010-04-09 07:25:14

相關問題