javascript - 标签文本为空
问题描述
WCAG 2(A 级)验证检测到此错误。
我使用儿童 wordpress 主题。我尝试使用 Javascript 修复标签,但 WCAG 2 仍然突出显示错误。
编辑:这是没有 javascript 的摘录。javascript 文件在页面末尾加载。
解决方案
看起来该消息来自AChecker。(有时它有助于告诉人们您正在使用什么可访问性工具。)
该错误不是抱怨 <label> 与 <input> 没有关联。您的代码结构通过在 <label> 中嵌入 <input>来使用隐式标签,这是有效的(请参阅“标签元素”规范)。
标签元素表示用户界面中的标题。标题可以与特定的表单控件相关联,称为标签元素的标签控件,可以使用 for 属性,也可以将表单控件放在标签元素本身中。
现在,话虽如此,曾经(并且可能仍然存在)屏幕阅读器和浏览器的某种组合不支持隐式标签并要求您for
在 <label> 上指定属性,但可访问性检查工具应该不要将其标记为错误。它可以将其标记为手动检查的问题,但这不是错误。
无论如何,回到最初的问题。 错误 188表示标签本身没有任何文本。您有class="screen-reader-text"
一个 <span> ,它是标签内唯一的文本来源。如果该类具有display:none
or visibility:hidden
,则可能会导致错误,因为该文本将对所有用户隐藏。但是,如果您的screen-reader-text
课程只是在视觉上隐藏了文本(类似于Bootstrap 3 中的 What is sr-only?),那么屏幕阅读器可以使用文本,但有视力的用户可能看不到该文本。我不确定这是否会导致 AChecker 错误地标记它。
推荐阅读
- istio - Istio EnvoyFilter 速率限制
- python - 用python cx_Oracle比较不同oracle数据库中的两张表
- reactjs - 如何确定 useCallback 是否值得甚至更好地提高性能?
- laravel-8 - 如何在 laravel 8 中为不同的守卫使用单独的电子邮件验证?
- c# - ESP32:将广播发送到本地网络并使用 Android 应用程序接收
- jupyter-notebook - Sobel 掩码过滤器的实现失败
- robotframework - RobotFramework - WebDriverException:消息:服务 /usr/bin/safaridriver 意外退出。状态码是:1
- machine-learning - 为什么我们可以在训练后改变暗网 YOLO 的输入图像大小?
- ruby-on-rails - 我想计算批准状态的两个日期
- python - 使用 Apache 从 Django 中的网络驱动器加载媒体文件