nielsdeblaauw / twigcs-a11y
TwigCS的可访问性规则
0.3.0
2022-02-18 13:06 UTC
Requires
- friendsoftwig/twigcs: ^5.1
Requires (Dev)
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^3.16
README
这是一个TwigCS可访问性规则集。它静态检查twig模板中的已知可访问性问题。
此规则集灵感来源于Deque的Axe Linter。
注意: 自动化测试不能保证您的网站是可访问的。手动测试是确保网站可访问的唯一方式。
想了解更多关于创建可访问性网站的知识?请查看A11Y Collective。
安装
composer require --dev nielsdeblaauw/twigcs-a11y
使用
vendor/bin/twigcs --ruleset \\NdB\\TwigCSA11Y\\Ruleset
示例输出
./tests/test.twig
l.2 c.0 : ERROR [A11Y.TabIndex] Invalid 'tabindex'. Tabindex must be 0 or -1. Found `tabindex=1>.`
l.12 c.20 : ERROR [A11Y.TabIndex] Invalid 'tabindex'. Tabindex must be 0 or -1. Found `tabindex=test.`
l.12 c.53 : ERROR [A11Y.TabIndex] Invalid 'tabindex'. Tabindex must be 0 or -1. Found `tabindex='test'.`
l.16 c.0 : ERROR [A11Y.BannedHTMLTags] Tag 'marquee' is dissallowed. Found `<marquee>`.
l.18 c.0 : ERROR [A11Y.BannedHTMLTags] Tag 'blink' is dissallowed. Found `<blink>`.
5 violation(s) found
有关其他选项,请参阅TwigCS文档。
规则
以下规则作为此规则集的一部分实现。
TabIndex
使用非0
或-1
的tabindex值会导致键盘用户遇到意外的行为。元素tabindex属性中的变量被视为无效。
BannedHTMLTags
禁止使用blink
和marquee
标签。这些元素可能给认知障碍用户带来问题。
AriaRoles
捕获无效的Aria角色值。拼写错误、非标准角色和动态角色不允许。
无效的角色不能被辅助技术正确解释。
路线图
目标是实现Axe Linter规则集中的尽可能多的规则。