2012-08-26 26 views

回答

2

的問題是你的DOCTYPE,這是目前設定爲:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

決定執行什麼類型的驗證時,W3C驗證着眼於DOCTYPE聲明。開始data-的HTML屬性是HTML5的想法,因此您需要將您的DOCTYPE更改爲HTML5,以便驗證其正確性。

+0

因此,爲了使其工作,我應該將所有的網站代碼替換爲HTML5或有一個簡單的方法來克服 這個問題? –

+0

它看起來像代碼正常工作,但爲了驗證,是的,你必須更新你的DOCTYPE。儘管這可能會帶來其他意想不到的後果,因爲DOCTYPE在IE選擇展示網站方面扮演着重要角色。測試它並查看它如何影響輸出。您應該開始使用HTML5或XHTML嚴格DOCTYPE爲您創建的所有新網站,但是...它將強制IE在「標準模式」下呈現並讓您的生活更輕鬆:-p – thirdender

+0

所有IE7中的IE9都只有IE8纔有幻燈片出現問題。 替換網站代碼(當前)HTML5格式將促進網站......所以它不是沒有問題。 我認爲我可以用CSS或其他命令替換命令「DATA-BG」 - 以便它可以被WC3批准? –

0

根據HTML 4.01文檔類型或任何已發佈的文檔類型,不允許使用data-屬性,這對其功能沒有影響;它只是一個句法問題。

選項:

  1. 就忽略該消息。如果你有這些屬性的負載,這是不切實際的,因爲這些消息的數量使得很難檢測到真正的標記錯誤。
  2. Construct a custom DTD允許您使用的data-屬性。 The W3C shouts against the idea,但真正的問題是大多數人不想參與DTD,並且需要學習編輯DTD。在這種情況下,您只需將屬性添加到coreattrs屬性中即可。您需要分別添加每個data-屬性。
  3. 更改爲HTML5 doctype語句,<!doctype html>。這使得所有data-屬性都被允許,但是這也意味着在其他方面的限制。 HTML5是而不是對HTML 4.01的純擴展;例如,它會將大多數meta標記聲明爲無效(儘管大多數meta標記都沒用,您可能會有一些有用但HTML5中不允許的標記)。