在努力实现WCAG 2.0合规性方面,我发现关于正确处理按钮的信息很多,特别是需要考虑哪些内容才能使按钮可访问和合规。
标记
标记
只要在上下文中有人会理解他们将会了解更多的内容,<button>学习更多</button>
就可以胜任。通常在按钮前面会有一些描述性文字。然而,如果它只是把某人带到另一个页面而不是触发模态框,我会使用链接。
<button aria-label="关闭">×</button>
用于关闭按钮(我正在使用字符实体×,它比x更对称)。同样,如果按钮位于模态框的顶部(例如),可能相邻于其标题,则这可能足够了。
<button aria-label="图像1">[图标]</button>
适用于走马灯。请注意,如果字体未下载,则字体图标可能会丢失。在IE11和旧版Edge的Windows高对比度模式(WHCM)中,背景图像将消失。 aria-label
将无法帮助WHCM用户。最好使用图片(甚至是SVG)及其alt
属性,因此您不需要aria-label
。
这里不需要name
属性。它在这里没有用处。
不要使用role =“button”
属性。该角色自动成为<button>
元素的一部分。如果您分配了另一个角色,则会遇到大问题。
绝对不要使用title
属性。它做的事情比带来好处更多。
您需要同时使用aria-label
属性(对于屏幕阅读器非常有用)和title
属性(对于使用标准浏览器的普通用户可能需要更多支持):
<button
aria-label="Back to the page"
title="Close" onclick="myDialog.close()">X</button>
aria-label
之间的文本。name
属性在此处不起作用。 - slugoliciousaria-label
只有盲人屏幕阅读器才能受益。由于更多详细信息通常对认知问题有好处,请查看如何使其对鼠标和键盘用户都可用:http://adrianroselli.com/2016/12/accessible-emoji-tweaked.html - aardrianaria-label
对辅助技术用户(不仅仅是屏幕阅读器用户,对于盲文设备也非常方便)有帮助,所有的 aria 属性都是如此。这正是 aria 的全部意义,对认知问题来说更加棘手。对于某些认知问题,有时更多的冗余信息会更糟,提示工具可能会分散注意力。我的观点是,如果您有上下文信息,就像您提到的那样,希望对认知者来说足够了。将aria-label
添加到“了解更多”按钮或链接中,对 AT 有巨大的好处。 - slugolicious