zoukankan      html  css  js  c++  java
  • Mac VoiceOver + react 注意事项

    苹果提供的 VoiceOver 针对不便人员或者特殊使用习惯的用户帮助很大。

    打开Mac VoiceOver 快捷键: command + F5

    为了能够支持VoiceOver, 在前段程序中一些写法需要注意。

    1. chrome 对于<a/> 能够自动 tab 上,无论是否手动添加 tabIndex。

     上面的写法,在chrome 里面能够被 screen reader 自动识别,并且能够通过 tab 进行切换

    2. Safari 对于设置了 href 的<a/> 无论如何都无法 tab 上,即使是添加了 tabIndex 和 role='button'

     

     

     上面的两种写法,在safari种都无法通过 screen reader 读取到

    3. 对于仅仅添加 onClick 事件的<a/>, 无法连贯使用键盘操作(‘enter’ 不能触发 onClick 事件)

      上面的例子,无论是在chrome,还是 safari中,‘enter’ 键都无法触发 login 事件

    4. 如果是自定义控件(由div拼出来的),那么需要手动添加 tabIndex 去让 screen reader 能够读出它来,另外,加上role='button' 能够更好的识别控件用途。

       加入tabIndex 是为了让 tab 能停留在登录“按钮”上,加入 role='button' 是为了让 screen reader 识别控件为'button', 然后输出给用户。

    为了能够兼容 chrome 和 safari 可以定义一个基础控件如下:

    点击事件后执行blur() 是为了不持续显示 link 周围的选中蓝框。这个蓝框不直接去掉是因为希望在 tab 时能看到这个蓝框。

    测试浏览器版本:

    Safari: ver 13.0.5

    Chrome: ver 80.0.3987.116

    Chrome: ver 79.0.3945.117

  • 相关阅读:
    python urllib urllib2
    python 标准库获取网络信息
    dell N1500 安全配置
    python jinjia2模板使用
    flask-admin
    github使用
    python中文处理
    C++输入和输出中进制问题
    hdu1708(C++)
    hdu1017(C++)
  • 原文地址:https://www.cnblogs.com/crdanding/p/12342589.html
Copyright © 2011-2022 走看看