2017-11-27 20 views
0

私は<thead>の2つの行を並べ替え可能です。私のマークアップは現在次のようになっています:キーボードユーザーがアクセス可能な並べ替え可能なテーブル

<tr> 
    <th class="table-head__cell table-head__cell-sortable"> 
     <span class="table-head__text">Date</span> 
     <i class="icon fa fa-angle-down" aria-hidden="true"></i> 
    </th> 
    <th class="table-head__cell align-right table-head__cell-sortable"> 
     <span class="table-head__text">Value</span> 
     <i class="icon fa fa-angle-down" aria-hidden="true"></i> 
    </th> 
</tr> 

ソート可能な列にはキーボードでアクセスできます。 .table-head__celltabindex="0"aria-role="button"を追加する方がよいかどうか自問します。または<th>要素のコンテンツの周りに<button>をラップします。

アリアの役割よりも正しいセマンティック要素を使用する必要があることを知っていますが、<th>のボタンを追加するのはちょっと変わっています。

誰かがこれに何か考えてもらいたいですか?

答えて

2

要素には、ARIA roleを1つだけ与えることができます。したがって、headingロールとbuttonロールの両方を指定することは不可能です。

あなたが書く場合:

<th role="button"> 

th要素はもはや見出しできなくなりますし、ボタンになります。

button要素をthの内側に置く解決策は残りの解決策です。

+0

OK私の意図は、どちらか一方をすることでした。 ''の中に '

関連する問題