Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可访问性&谷歌图表表悬停行为_Javascript_Google Visualization_Accessibility_Wai Aria - Fatal编程技术网

Javascript 可访问性&谷歌图表表悬停行为

Javascript 可访问性&谷歌图表表悬停行为,javascript,google-visualization,accessibility,wai-aria,Javascript,Google Visualization,Accessibility,Wai Aria,我已经发布了几个谷歌图表的可访问性问题;还有一个。提前感谢您的帮助 谷歌图表表让盲人用户很容易访问,但我遇到了一个令人困惑的问题。我正在制作一个网站,使用标准的谷歌分类过滤器生成数据表。我已经向表中添加了ARIA live=politive和ARIA atomic=true属性,以便在表发生更改时通知屏幕阅读器读取整个表。这在大多数情况下都非常有效;更改控件时,在读取控件行为后,屏幕阅读器将立即开始读取新表 不幸的是,类属性的更改触发了ARIA-live。对于同样使用ARIA原子标记的Googl

我已经发布了几个谷歌图表的可访问性问题;还有一个。提前感谢您的帮助

谷歌图表表让盲人用户很容易访问,但我遇到了一个令人困惑的问题。我正在制作一个网站,使用标准的谷歌分类过滤器生成数据表。我已经向表中添加了ARIA live=politive和ARIA atomic=true属性,以便在表发生更改时通知屏幕阅读器读取整个表。这在大多数情况下都非常有效;更改控件时,在读取控件行为后,屏幕阅读器将立即开始读取新表

不幸的是,类属性的更改触发了ARIA-live。对于同样使用ARIA原子标记的GoogleCharts表,这意味着行悬停行为将触发对整个表的读取,因为悬停在一行上会更改row类。如果您将鼠标指针移到多行上,它将为您经过的每一行读取整个表格一次

编辑:请参见下面的注释以澄清本段。我试图通过调整表的cssClassNames选项来解决这个问题,但结果令人恼火。即使将tableRow和hoverTableRow选项更改为同一类,表也只会在悬停时应用该类,而将该类更改为不悬停时

我试图说服我的同事,屏幕阅读器的用户不会使用鼠标,但我还是被要求找到一个解决方案。嗯

有人确切地了解行悬停行为是如何工作的吗?这个问题是像我所说的那样难以理解,还是我遗漏了什么?有没有人对解决办法有什么想法

注意:Ryan B有一个很好的解决方案,请参见下面的评论,如果我的同事坚持认为当前设置不符合他们的标准,我将提出这种解决方案。谢谢你,瑞安

尽管如此,希望问题在于我的解释,我会澄清:当你在谷歌图表表中的一行上悬停时,背景颜色会改变。GoogleViz脚本通过侦听表行上的悬停事件来管理这一点。悬停时,脚本将行类名从类似tr-goo-viz-table-row的内容更改为tr-goo-viz-table-row-over,两者都在Google-viz-CSS中,分别只包含背景颜色白色和浅灰色的样式

在HTML表调用中,可以将hoverTableRow的cssClassName选项设置为tr goo viz table row,或者将tableRow和hoverTableRow都设置为仅设置背景色的任何类,并且在视觉上,悬停行为停止。但奇怪的是,脚本坚持区分hover上的类名,即使你告诉它保持类名不变。根据实现的不同,脚本将为悬停行生成一个双倍类名tr goo viz table row tr goo viz table row,或为非悬停行生成一个空类名,并且无论哪种方式,即使没有实现样式更改,悬停也没有视觉效果,仍然会触发ARIA live


由于我不了解这种行为的实现,我希望比我更了解它的人可能知道一种方法来完全停止悬停触发的类名更改-杀死侦听器,例如添加指针事件:例如,CSS行中没有指针事件……IE11之前的IE不支持指针事件,使用此网站的用户大多使用IE9。

我不太了解悬停部分。您可以做的一件事是将aria live和atomic放到桌面上。在表格上方添加一行,最好是一个标题,带有带有文本的ARIA属性,如结果已更新,或任何适用于项目的内容。