2013-07-16 100 views
3

我們使用Dropdown.js of Bootstrap。由於我們並未將Bootstrap用於我們應用程序的任何其他部分,因此我們一般不使用aria屬性,所以現在我們不確定,我們可以從粘貼的HTML結構副本中刪除哪些屬性。Bootstrap Dropdown.js:哪些HTML屬性真的有必要? (data-target,role,aria ...)

在我看來,我們只需要這樣:

<a href='#' class='dropdown-toggle' data-toggle='dropdown'>Dropdown</a> 
<ul class='dropdown-menu'> 
    <li><a...>...</a></li> 
</ul> 

但共同開發者認爲,我們還需要data-target='#'role='button/menu',甚至aria-labelledby=...東西。這是正確的嗎?我們真的只想要下拉功能,沒有其他輔助功能相關的東西。

感謝您的信息。

回答

3

關於<a>aria-labelledby看到w3.org

[..]目前唱段,labelledby和詠歎調,describedby更有力支持文本內容互動 內容元素的一個子集關聯 。 在撰寫本文時,他們在 鏈接上無法正常工作[編輯:添加阻止鏈接?

有道理也應該有一個元素aria-labelledby不會忽略,像

<a href="#" aria-labelledby="meaningless">link</a> 
<span id="meaningless">click here</span> 

顯然<a>標籤都有效是互動的,但有自己的標籤。


至於role="button/menu",無法找到確切的文件,但我不認爲它是合法的「發明」新的角色類型,如button/menu。只有the standard roles是合法的。讀者應該如何解析按鈕/菜單?即使分裂,這兩個角色也不兼容。有關如何以及何時在不同情況下使用角色屬性,請參閱此w3 recommendation table


我個人的結論:你完全同意,約書亞Muheim - role='button/menu'aria-labelledby=是在特定背景下的浪費時間。