屏幕 reader 可访问性:我的按钮应该如何 "talky"?

Screen reader accessibility: How "talky" should my button be?

我正在尝试改进我们网络应用程序的屏幕 reader 支持,但我对我们的按钮的最佳做法有些疑惑。我们当前的模式看起来像 this

如果我关注按钮,屏幕 reader 应该说...

...选择文件,需要吗?

...上传个人信件:选择文件?

...上传个人信件:选择文件。允许的文件类型:doc、docx。需要吗?

我们目前正在寻找更健谈的版本,但我们的团队在屏幕 reader 用户及其使用方式方面的经验有限,因此朝正确的方向推进会非常有帮助。谢谢你。 :)

没有真正的规则。只要指示对用户来说足够清楚就应该没问题。

事实上,这在很大程度上取决于您对屏幕 reader、互联网和一般设备的习惯:

  • 高级用户往往更喜欢较短的标签,并且可能会对较长的标签感到厌烦。
  • 标签太简洁初学者可能看不懂
  • 初学者也可能会因为标注过多的额外信息而泛滥,或者词汇太专业看不懂

屏幕 reader 有很多选项,让您可以决定说什么和不说什么。例如,Jaws 称之为冗长,并且有 3 个可进一步自定义的一般级别。 可悲的是,在网络上,您无法确定所选级别,也无法调整标记知道此元素仅在高级或中级模式下使用(无论如何可以进一步高度自定义) 所以最好的可能是中间选项:不要太简洁,但也不要太冗长。

我自己是屏幕 reader 用户;作为高级用户,关于您的建议;我会说:

与第一个相比,第二个让您对您的期望更有信心。如果要上传多个文件,例如求职信 + 简历 + 照片,拥有这些信息非常重要,这样可以减少搞砸的风险,即在简历字段中上传照片。 如果有多个具有相同标签的字段被标记为相同,则很难知道哪个是哪个。

指出允许的文件类型和其他此类要求很好,但最好放在标签之外。 请记住,每次您进入该字段时,都会再次读出整个标签。如果有5个字段相同的信息,或者表格很复杂,必须来回多次,听到很多次都一样,很烦人。

所以,我会选择第二个变体:"upload personal letter, required"。 并在页面的其他地方指出技术限制,如文件类型、大小等,因为它仍然是一个很好的主意。

请注意,如果您在字段中放置必需的和 aria-required 属性,则可以从标签中省略 "required" 信息。这是指示必填字段的推荐方式。

Tl;DR:保持简洁。

如果您想传达一些附加信息,例如允许的文件类型、大小、"no viruses please" 等,不要 将其放在按钮本身上。例如,首选 aria-describedby 并制作一个单独的控件来描述所有这些内容,视觉上连接到按钮(例如,在它的右侧)。
我们,我的意思是屏幕 reader 用户,经常按项目导航并做其他奇怪的事情,比如调用页面上所有按钮的列表(现在甚至 Narrator 也开始支持这样的事情),所以如果按钮标签太长,它太快了会很烦人。