WCAG 是否处理空/冗余元素?

问题描述

有时在我的可访问性审核中,我会遇到一个 <p> 标签,里面没有任何内容。屏幕阅读器会读出“空”,浪费我和任何残疾人浏览网站的时间。

当我传递 <hr> 标签时,还会读取诸如“分隔符”之类的冗余元素。

我知道这些东西会降低无障碍体验。但它们是否被认为违反了 WCAG 标准?如果是,那么什么标准?标准中是否考虑过该主题

解决方法

空的段落、div、跨度等对于辅助技术的用户来说绝对是烦人的,最好的做法是删除它们,但它们并不是 WCAG 的失败。

据我所知,唯一可能导致 WCAG 失败的空元素是:

  • title - 标题元素必须描述页面的用途(S.C. 2.4.2 A 级)
  • labels - 与输入字段关联的表单标签不得为空(S.C. 3.3.2 AA 级)
  • heading - 标题元素 (h1-h6) 不是必需的,但是如果存在标题元素,则它必须包含描述内容的文本(S.C. 2.4.6. 级别 AA )
  • table - 如果表格元素用于表格数据,则它必须包含 tr、td 和 th 项(S.C. 1.3.1. A 级)。
  • 表格标题 - 显示表格数据需要表格标题 (th) 元素。虽然对空表格单元格 (td) 没有限制,但表格标题不能为空(S.C. 1.3.1. A 级)
  • lists - 列表元素(ul、ol、dl)必须将列表项作为子元素。 (S.C. 1.3.1. A 级)
  • 链接 - 锚元素 (a) 必须具有有效的 href 值和可通过编程识别的文本,这由可访问名称计算算法(WCAG 4.1.2 A 级)确定。

如果没有必需的属性,还有更多事情会失败,但这似乎有点超出了问题的范围。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...