我正在使我的GWT页面符合508,我需要在我的cellTable中添加一些关于排序按钮的附加信息,供屏幕阅读器使用。基本上我需要知道如何从cellTable设置Label HTML标签。
我知道如何使用setTitle()
和setAlt()
方法,但我似乎无法找到为按钮设置Label
的简单方法。我理解屏幕阅读器可以选择查看标题标签,但这不是我想要做的。
我似乎无法找到有这个问题的其他人,这怎么没有出现呢?
答案 0 :(得分:1)
实际上代码中有一个TODO:https://gwt.googlesource.com/gwt/+/2.6.0/user/src/com/google/gwt/user/cellview/client/DefaultHeaderOrFooterBuilder.java
// TODO: Figure out aria-label and translation of label text
并且似乎没有任何黑客/钩子可以添加它。
所以唯一的解决办法似乎是对GWT进行分叉/补丁(如果可能的话,可以在上游提供补丁)。
顺便说一句,排序图标不是按钮,只是指标。整个表标题会响应点击,因此必须将aria-label
添加到<th>
元素。
(实际上,似乎有一种解决方法:在表DOM中查找相应的<th>
元素,并使用aria-label
setAriaLabelProperty()
添加Roles.getButtonRole().
属性;但是固定GWT会不那么脆弱,从长远来看会好得多,对每个人都有好处)