任一存 3715a82c0b Merge branch 'master' of http://192.168.0.115:3000/shaogen1995/ShouBo пре 3 година
..
public c50b0f0c1a up пре 3 година
src c224646e99 修改首页链接 пре 3 година
.gitignore f87bf4975c up пре 3 година
README.md 7312602d6f 引入无障碍组件 пре 3 година
babel.config.js 5902922522 init пре 3 година
package-lock.json d2dd770afd up пре 3 година
package.json d2dd770afd up пре 3 година
vue.config.js 7312602d6f 引入无障碍组件 пре 3 година

README.md

shou_bo

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Customize configuration

See Configuration Reference.

无障碍相关

特殊tabindex

所有需要能通过tab键focus,并进一步朗读、在放大镜区域显示的元素(几乎是所有叶子元素)都需要添加tabindex attribute。tabindex具体取值是0还是-1还是正值,还需要依据产品设计而定。

特殊class

  • aria-control-target: 手动添加。此节点和其后代会受无障碍菜单的控制。
  • aria-theme-inverse: 手动添加。此节点的背景文字颜色会和无障碍菜单里的设置相反。
  • aria-no-zoom: 手动添加。此节点不会受无障碍菜单里缩放的控制。
  • aria-hide: 手动添加。此节点不会显示,只是为了tab键focus。
  • aria-theme-[some color]: 自动添加。设置无障碍颜色时,这个class会被加到带有aria-control-target class的节点上。
  • aria-active: 自动添加。开启无障碍功能时添加到html和body上。
  • aria-magnifying: 自动添加。开启无障碍功能且开启其中的放大镜功能时添加到body上。

特殊node(自动添加)

  • <style id="aria-big-cursor-style-node"></style>: 大号光标样式代码。
  • <style id="aria-zoom-style-node"></style>: 缩放样式代码。

特殊id

导航区需设置id: navigation-area 视窗区需设置id: viewport-area 交互区需设置id: interactive-area

数据同步

同一个域的多个页面的accessibility组件实例、该域下的唯一一份local storage之间的无障碍菜单设置会自动同步。

初次加载一个组件实例,改变设置,自动保存到storage,触发storage事件,自动从storage读取设置,同步到组件,不会导致组件设置变化,over。

第二次加载一个组件实例,起初为默认设置状态,自动从storage读取到设置,同步给该组件,因为该组件新设置状态与storage中相同,不会再同步回storage,over。

在另一个页面改变组件实例设置状态,自动把该组件新的设置状态保存到storage,触发storage事件,自动把storage数据同步给当前所有加载了的组件,导致有些组件状态变化,但所有组件的新状态都和storage相同不会再同步回storege,over。