【无障碍】tabindex

4 篇文章 0 订阅

简介

tabindex是全局属性:用户操作tab键的顺序
——HTML标签元素都可以用的属性,比如说id、class等属性都是HTML的全局属性。
tabindex属性是一个与键盘访问行为息息相关的属性,或者说是用户体验息息相关的属性
场景:鼠标坏了/投屏的键盘操作
作用:管理键盘焦点,决定元素能否被选中

交互元素/可访问元素:常见的a、button、input:隐式可聚焦元素、内置键盘事件处理
https://allyjs.io/data-tables/focusable.html

document.activeElement 找到当前获得焦点的元素

css修改渲染顺序之后会不会影响tabindex顺序——还是会按照dom元素顺序

使用值

tabindex显示设置值:

1、负数:被忽略,-1和-9999的效果一致
-1的时候才能focus

如果不希望让可聚焦元素失去tab键获得焦点的话,不应该显式的设置tabindex的值为-1;反之,如果希望让可聚焦元素失去tab键获得焦点,只需要显式的设置tabindex的值为-1。
——最适用的场景是:dialog模态框

  • ——不让聚焦???因为是div不能交互???——需要将焦点转移到用户操作之外更新的内容时

2、正数:放在自然的tab前面,从小到大排序。最大值:32767
显式的给DOM元素设置tabindex大于0是一个极坏的做法。
——更应该用页面布局解决
tab键聚焦元素的顺序是由DOM中元素的顺序决定的,而不是依赖视觉上的布局来决定

3、0:为了让非聚焦元素(比如div、span等)也能通过tab键获得焦点

部分CSS属性(改变文档流的CSS属性)会在渲染后页面效果上看上去tab键的混乱,但事实他还是依赖于DOM源的顺序进行切换
——flex布局之后还是按照order顺序来的

autofocus 可以让元素自动获得焦点
blur、focus事件会前后触发

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值