-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
这是一个很小众的想法,但是 #1
Comments
谢谢关注。 focus-lock 我有关注,但还没来得及具体了解,类似还有 focus-trap、focus-rings。 focus-no-jutsu 主要关注焦点从开始到结束的完整流程,以这个流程为一个管理单位,这个流程有个模式,模式涉及到“入口”、“列表”和“出口”,在 focus-no-jutsu 里,焦点从“入口”到“列表”,到“出口”,最后回到“入口”。可能 focus-lock 等库都关注了“列表”这部分,所以”入口“和”出口“的部分 focus-no-jutsu 更灵活和集中,focus-no-jutsu 的入参选项也都以这三点分类。“列表”这部分可能还有些其它库不具备的特性:
上面提到选项卡在项目的在线范例里有体现。还有的比如设置 aria-*,focus-no-jutsu 提供了钩子可以辅助更新这些属性,比如按钮的 |
感觉也不是很小众,如果考虑到键盘和鼠标一样都是输入设备,那所有桌面端应用都要适配键盘焦点了。。 |
是的,你可以参考这个https://chakra-ui.com 组件,里面提到的一些不具备的特性都有实现,比如menu的navigation (除方向键外还支持首字母快速选择, 我觉得这很酷),另外我想问一下这个对Infinity Scroll List 的支持怎么样 |
我觉得不算小众,至少国外的大多数website都有a11y方面的认证需求 |
我说的小众只是焦点管理,而不是a11y |
嗯,无限滚动有支持,类似下面这样,返回值有个 const focus = focusNoJutsu([#item1, #item6]);
window.scrollTo(0, document.body.scrollHeight); // scroll to bottom
setTimeout(() => {
// fetched more items
focus.updateList([#item1, #item12]);
}, 3000); 目前是这样,不过补一句,这种滚动一般有个“回到顶部”按钮要考虑,可以在列表里按 Esc 跳到按钮,或者把按钮作为最后一个 item,或者别的办法。 有些嵌套的情况现在还不支持,像树形结构这种。 |
作者你好,我们目前在开发的所有产品都需要符合WCAG2.1 AAA 标准,目前我们使用aria-*, role, tabindex, focusLock, scrollLock来进行实现,想请问作者,这个lib在焦点管理上有什么突出的亮点吗
The text was updated successfully, but these errors were encountered: