所以我有一个SPA angular 1.5应用程序,当用户导航到新页面时,有时页面没有任何自动聚焦的输入,例如,它只是一个祝贺页面,说用户注册成功。通过
我已经能够提出一个稍微有点讨厌的解决方案$('。registration-confirmation')。attr(“tabIndex”,0).focus();
所以屏幕阅读器会自动读出注册确认div中的文本,但是我还必须阻止焦点中的蓝色轮廓
.registration-confirmation { &amp ;:focus { 大纲:0; //删除焦点上的webkit注入大纲 } }
有更简单的方法吗?也许是咏叹调属性?
答案 0 :(得分:2)
是的,停止这样做 - 完全没有良好的可访问性,特别是因为你现在因为弄乱了焦点指示器而使我感到困惑。 ARIA角色是处理此问题的正确方法:
role="alert"
,这将立即被屏幕阅读器宣布并具有侵入性,因此不应大量使用。role="status"
;但是,仍然不要滥用它。如果用户通过后续步骤跳转到成功的注册屏幕,例如,将其应用于除了简单的“祝贺”之外的任何其他内容。不合适。我建议查看ARIA最佳实践文档以了解各种示例用途。