2016-05-06 32 views
-1

早安人。爲什麼瀏覽器「編輯」HTML代碼並使其不符合W3C規則?

根據意大利可訪問性法律我必須驗證我的網頁的HTML代碼與W3C validator

如果我使用瀏覽器功能「查看源代碼」,然後驗證代碼...我沒有問題:我只得到開發人員製作的真正的HTML錯誤!

但是有時,我必須從DOM中「取」出HTML代碼,例如在腳本JavaScript「生成」的HTML頁面中。 如果我這樣做,我會收到很多錯誤(數百),因爲DOM代碼與我從瀏覽器功能「查看源代碼」獲得的HTML代碼不同。 這種方式除了「假」HTML錯誤(由編輯代碼的瀏覽器所做)之外,我無法分辨真正的HTML錯誤(由開發人員製作)。

我的最後一個問題是:有沒有辦法告訴瀏覽器「親愛的瀏覽器,當我得到DOM,不要把你的壞代碼放在裏面」。

謝謝

+1

沒有瀏覽器這麼做(或者如果有的話,你需要提供一個實際的測試用例)。 – Quentin

回答

4

現代屏幕閱讀器使用DOM HTML代碼,即從應用程序的HTML代碼可能已被使用Javascript代碼進行修改。

所以,你必須驗證生成的代碼。瀏覽器不會添加錯誤代碼,但是您的JavaScript會這樣做。這就是說,一些瀏覽器可能會糾正不良的DOM層次結構,只有當你的代碼不正確時纔會這樣。

例如,查看源代碼時,瀏覽器將更正以下代碼。

<b><a href="#link">unclosed link</b> 
相關問題