我正在制作一款我想要访问的网页游戏,我想知道是否要使用aria进度条跟踪某些统计数据,因为它的名字并不是真的意味着它应该是用于此类事情。但是,该规范并未说明它不应该减少(正如惠普等公司所预期的那样),所以我不得不挠头。
在可访问性方面更了解情况的人是否可以告诉我是否应该使用此角色,或者我是否最好创建宣布这些更改的通用实时区域?
答案 0 :(得分:1)
使用HP的进度条很好。可以这么说,你正朝着死亡方向前进。但请记住,如果更新了进度条的值,则除非重点放在进度条上,否则不会向屏幕阅读器用户宣布其新值。要随时更新进度条(无焦点),我们需要aria-live
。 (注意:<progress>
本身无法集中注意力。它被视为静态文本。)
使用<progress>
的主要目的是为了产生视觉效果。它似乎在所有浏览器https://caniuse.com/#search=progress上都受支持,但并非所有屏幕阅读器都支持。当您使用屏幕阅读器导航键导航到NVDA(PC)和VoiceOver(iOS)时,NVDA(PC)和VoiceOver(iOS)将会显示其价值,但JAWS(PC上非常流行的屏幕阅读器)将忽略它。
此外,对于尊重<progress>
的屏幕阅读器,会公布该值的百分比,而不是实际值。因此,如果您有<progress value="22" max="50">
,则该值将被宣布为&#34; 44%&#34;而不是&#34; 22&#34;。
如果你想听到一个数字或一个百分比,这取决于你。
您也可以考虑使用<meter>
,但Internet Explorer并不尊重https://caniuse.com/#search=meter。
就个人而言,我认为最好的办法是使用aria-live
区域,特别是role='status'
,https://www.w3.org/TR/wai-aria-1.1/#status。