Skip to content

表单错误、状态反馈与动态内容:练习答案 ​

保存中保留按钮名称并用 aria-busy 或旁边状态文本说明进度;成功状态用 role="status" 的短消息,失败状态用 role="alert" 并把焦点放到错误摘要或第一个可修正字段。请求完成后恢复按钮,取消或超时也必须恢复可操作状态。

答案给出可直接复现的输入步骤、预期输出与边界说明;完成后请按步骤在目标浏览器复跑,并记录浏览器版本与实际结果。

语义、可访问名称与结构 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

可访问性测试与治理 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

键盘、焦点与交互状态 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

表单错误、状态反馈与动态内容 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

required、invalid 与描述 ​

先验证输入序列,再检查失败、取消/卸载和降级;答案必须记录实际输出与未覆盖的宿主差异。

aria-live 与状态消息 ​

先验证输入序列,再检查失败、取消/卸载和降级;答案必须记录实际输出与未覆盖的宿主差异。

加载、busy 与空状态 ​

先验证输入序列,再检查失败、取消/卸载和降级;答案必须记录实际输出与未覆盖的宿主差异。

用心记录每一步成长