GH GambleHub

接口可用性测试

1)为什么,我们相信什么"准备好了"

可用性(A11y)是一组可测量的条件,在该条件下,对于具有不同感知功能,运动功能,设备和上下文的人来说,产品可以平等地理解和管理。准备就绪意味着:
  • 满足了WCAG 2标准。1/2.目标平台的2级AA;
  • 界面完全通过键盘;
  • 正确操作屏幕阅读器;
  • 对比符合规范;
  • 所有状态/错误/状态都可以在视线之外且没有鼠标的情况下访问;
  • 考虑了本地化,RTL,reduce运动和移动功能。

2)测试策略(金字塔A11y)

1.自动测试/linter(快速覆盖高达40-60%的问题类别)。
2.手动模式检查(键盘,焦点,内容,逻辑)。
3.辅助技术(AT)会话:屏幕阅读器、缩放、颜色过滤器。
4.与用户进行现场测试(如果可能的话)。

目的:捕捉元件/模式级别的系统缺陷,防止其繁殖。

3)基本检查支票清单(快速运行)

  • 键盘:禁忌/箭头可以实现一切;焦点顺序是合乎逻辑的;有调制解调器中的焦点陷阱;ESC/Enter/Space正在运行。
  • 焦点指示器在任何主题/背景中都可以看到。
  • 对比:第4 ≥桉文。5:1(普通),≥ 3:1(大),图标/控制可读。
  • 语义:正确的标签('button'、'a'、'label'、'ul/li'、'th/td')、角色和'aria-'仅在需要时。
  • Scrinrider:按层次结构排列的标题、按钮/链接的语义名称、图标/图像的替代品。
  • 表格:明确的"标签",线索/错误相关("aria-describedby"),错误文本是具体的。
  • 动态:敬酒/横幅/错误通过"aria-live"("polite"/"assertive")宣布。
  • 动画尊重"prefers-reduced-motion";没有"摇动"接口。
  • 本地化/RTL:关键屏幕对齐,数字/日期/货币由实用程序格式化。
  • 移动:触摸目标≥ 44 × 44 px,不禁止变焦,屏幕旋转不会破坏内容。

4)角色、责任和文物

设计系统:每个组件描述中的A11 y要求。
开发人员:自动反驳,单位/交互测试与A11y-assert。
QA:手动脚本+AT会议;严重性/频率报告。
UX/内容:微观错误/状态,可读性大声。
工件:支票单,脚本,AT屏幕截图,带有WCAG参数的缺陷列表,建议。

5)自动化检查

Linters/分析仪: axe, eslint-plugin-jsx-a11y, pa11y, Lighthouse.

在pipline:我们在严重违规时阻止PR (role/label/对比/tab陷阱)。
对比快照:视觉主题/状态测试。

💡 请记住:汽车工具不检查意义,也无法通过眼睛看到焦点-手动测试是强制性的。

6)手动测试: 脚本

6.1个键盘

仅使用键盘(Tab/Shift+Tab/Enter/Space/箭头)浏览页面。
检查:焦点可见性、优先级、所有活动的可用性、没有"陷阱"和"死"元素。
在调制解调器中:内部焦点,关闭时返回到启动器。

6.2屏幕阅读器(最低设置)

Desktop: NVDA/JAWS (Windows), VoiceOver (macOS).

Mobile: VoiceOver (iOS), TalkBack (Android).

我们检查:正确的标题(H层次结构),按钮/链接名称,表格读取("th"/"scope"),状态声明,可理解的形状错误。

6.3内容和微型

我们大声朗读批判性文本-没有歧义,没有"错误400"。
错误="什么不是+如何修复+限制/格式"。

6.4动态和生活区域

成功的敬酒是'aria-live='polite',错误是'assertive'。
进度/下载由文本解释;skeleton比旋转器更可取。

7)形式和错误(深入)

每个字段都有相关的标签(不是placeholder)。
错误与以下字段相关联:'aria-invalid='true','aria-describedby='[id错误]'。
预先指定格式公式(日期,电话);掩码不会破坏输入/插入。
在submit+自动滚动时,总错误横幅并关注第一个错误。
错误文本:特定,没有技术术语。

8)表,列表,图表

表:标题"th" so "scope="col/row",标题,摘要。
列表是真实的"ul/ol/li",不是天后。
图表-备用表格/说明;传说可用;颜色≠唯一的信号。

9)多媒体和动画

视频:字幕/解密;键盘控制;没有自动轨道(或安静)。
GIF/微动画:在"prefers-reduced-motion"中关闭;避免爆发。
振动/声音-可选且在视觉/文本中复制。

10)移动可用性

互动≥ 44 × 44 px,有足够的间隔。
不禁止缩放(没有"user-scalable=no"的meta viewport)。
表单/键盘:不隐藏系统功能的正确类型("tel","email","number")。
在黑暗主题和系统字体"更多"中进行验证。

11)本地化、数字和RTL

带上下文的i18n密钥上的字符串;长语言(DE/TR)不会破坏布局。
日期/货币格式是实用程序,不是字符串。
RTL模式:导航图标的镜像,检查焦点和车厢顺序,双向输入。

12)关键flow的细节(iGaming)

付款/调查结果

明确指示,限制/时限/佣金-文本。
提供商的错误被明确声明,没有代码;还有其他行动。
操作确认:专注于逻辑CTA,可取消。

CUS/验证

照片/文件的逐步提示;进步和ETA。
"模糊/眩光/裁剪"错误-带有修复示例。
中立的语气,没有幽默。

13)缺陷严重性评估

Blocker:无法完成关键任务(键盘/屏幕阅读器)。
批评:关键功能起作用,但有严重的障碍。
专业:干扰,有解决办法。
次要:不影响任务的化妆品/不匹配海德。

每个缺陷都是指向WCAG准则和可重现的脚本。

14)验收标准(Done的定义,A11y)

100%不带鼠标的键盘脚本。
axe/Lighthouse:没有严重或严重的违规行为。
AA在所有主题/状态中的对比。
关键路径(nawbar,形状,调制解调器,敬酒)的屏幕阅读器运行。
文档A11y 用于新组件/fich(角色模型,aria,焦点,示例)。
CI中A11y测试的回归是绿色的。

15)流程和自动化

在开发之前:任务中的A11 y标准,具有焦点/错误状态的布局。
在开发中:局部组装中的linters/ahe;对比/焦点的视觉快照。
在CI中:pa11y/axe-scan按关键页面;在Blocker/Critical下的票据下降。
发布后:季度审核,监视A11 y标签上的用户投诉。

16)反模式

播放器代替标签。
"div"而不是"button"/"a"。
断开焦环"为了美丽"。
颜色作为唯一的状态载体。
无焦点打击/ESC调制解调器。
禁止移动扩展。
没有人为解释的"400/500错误"。

17)测试脚本模板

脚本1-键盘导航(表格页面)

1.Tab到第一个字段,输入数据。
2.Shift+Tab向后-确保顺序正确。
3.调用验证(submit)-焦点传递到第一个错误。
4.用ESC键关闭调制解调器,焦点恢复到启动器。

脚本2-Scrinrider(付款页面)

1.导航到页面标题(h1),收听部分。
2.打开方法选择-可以听到角色/状态声明。
3.故意犯和错误-读取消息并与字段相关联。
4.关于付款的成功敬酒宣布为"polite"。

情景3-动态

1.以>3 c运行操作-包含有关进程/ETA的文本。
2.如果网络错误-标语"assertive",可从键盘访问,则有"重复/帮助"路径。

18)有用的微模式

敬酒的角色/aria

html
<div role = "status" aria-live = "polite"> Payment accepted. Balance updated. </div>
<div role = "alert" aria-live = "assertive"> The payment was denied. Try another method. </div>

错误与字段的关系

html
<label for = "amount "> Amount </label>
<input id="amount" aria-invalid="true" aria-describedby="amount-error">
<div id = "amount-error "> Minimum 100 UAH. Please enter a larger amount. </div>

Modalka(语义属性)

html
<div role="dialog" aria-modal="true" aria-labelledby="m-title">
<h2 id =" m-title "> Confirm Payment </h2>
<! -- content -->
<button> Confirm </button>
<button> Cancel </button>
</div>

19)实施A11 y实践的快速计划

1.审核当前组件/模式(对比/焦点/角色语义)。
2.设计系统编辑:在每个组件中添加A11 y部分。
3.工具:在本地和CI中配置linters/axe/pa11y/Lighthouse。
4.培训:设计师/开发人员/撰稿人的短篇小说。
5.飞行员:修复3-5最常见的缺陷(调制解调器,形状,敬酒)。
6.法规:具有A11 y标准的国防部;季度审计。

最终的spargalka

检查键盘、焦点、对比度、屏幕阅读器、动态。
通过aria-live宣布状态;错误-与字段相关。
尊重节拍动作,不要禁止缩放。
考虑语义(标签/角色)而不是"外观"。
自动验证,但总是手动补充。
通过参考WCAG,严重性和播放脚本捕获缺陷。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。