2017-02-22 234 views
0

工作,我有一個在Chrome/Firefox中工作沒有任何問題,一個簡單的下拉菜單,但在Safari瀏覽器不工作 - 菜單只是不會出現在點擊一個按鈕:下拉菜單無法在Safari

<div> 
    <a id='action-btn-1' href='#' data-toggle='dropdown' class='btn btn-default btn-xs edit' aria-haspopup='true' aria-expanded='false' role='button'> 
     <span class="caret"></span> 
    </a> 
    <ul class='dropdown-menu text-left' role='menu' aria-labelledby='dLabel'> 
     <li>aaa</li> 
     <li>bbb</li> 
    </ul> 
</div> 

這裏可能有什麼錯誤?

回答

0

role='menu'在Safari中不支持ul元素。您需要使用<select> elelemt。

0

那麼...你一直在使用ARIA的功能。我一直在追蹤這項技術,只是出於興趣。儘管必須指出,ARIA目前並沒有得到如此廣泛的支持(2017年2月)。您可以對瀏覽器對ARIA功能here的支持有一個很好的概述。

但該表格含糊不清並且沒有得到適當的維護。你必須點擊每個元素來查看哪一行是什麼......要找出哪個瀏覽器支持什麼並不容易。

<ul class='dropdown-menu text-left' role='menu' aria-labelledby='dLabel'> 
    <li>aaa</li> 
    <li>bbb</li> 
</ul> 

這裏的問題是role='menu'。如果Opera支持,你必須首先檢查。如果是這樣,那可能是他們比其他瀏覽器(比如Firefox)更嚴格地遵循規範。也許你可以嘗試添加menuitem -role來驗證是否不是。

<ul class='dropdown-menu text-left' role='menu' aria-labelledby='dLabel'> 
    <li role="menuitem">aaa</li> 
    <li role="menuitem">bbb</li> 
</ul> 

如果它不工作,那麼這可能是因爲Safari瀏覽器不支持它尚未。如果出現這種情況,您可以考慮改用select元素。