我有一个单页面应用程序。有一个包含产品的页面,在底部有一个链接转到下一页。点击这个"下一个"链接DOM中的产品列表被替换。虽然点击的链接保持不变并保持点击的焦点。对我来说,做document.activeElement.blur()
这样的事情会更好吗?或者我应该把重点放在原样上?
我不确定最佳做法是什么,与普通服务器路由页面一样,焦点将通过页面加载重置。但是,从可访问性的角度来看,我还没有看到任何表明手动重置客户端路由的信息将是最佳体验。
答案 0 :(得分:1)
永远不要使用模糊。它只是糟糕,随机,可能令人沮丧。
在原生应用程序中,您应该始终确切地知道焦点的位置,并且焦点应始终位于精确的位置;否则键盘可访问性被破坏。 如果您认为您的Web应用程序是真正的应用程序,您应该遵循同样的严格要求。
所以,永远不要使用模糊,因为你根本不知道焦点随后会移动的地方。如果您要从当前具有焦点的DOM中删除某些内容,则应首先将其放在另一个有意义的位置。
在您的情况下:点击链接,您有两个合理的选择:
您可以向应用程序的用户询问他们认为最佳的解决方案,或者在测试会话期间通过观察它们来推断答案。
让我们快速总结一下:您是否正在制作一个包含不同页面的旧式网站,而且您不必关注焦点,或者您正在制作一个真正的应用程序在这种情况下,您应该像开发本机应用程序一样严谨。 非常简单。