一份表单同时询问送货地址和账单地址,两组下面都出现“姓名”“街道”“城市”等文字。单看某一个标签,它们没有写错;离开各自所属的地址组,却可能难以知道当前这一项在问什么。W3C WAI的Grouping Controls教程用这个例子说明,相关控件组成一组以后,还需要让这组本身有可识别的标题。
教程把fieldset解释为相关表单控件的容器,把legend解释为识别这一组的标题。两者对应不同任务:容器联系哪些控件属于一起,标题说明这一组是什么。单项label仍然说明具体字段。因而,“送货地址”与“街道”不是互相替代的两种名称,一个给出共同语境,一个指出眼前要填写的信息对象。
原文的地址例中,两组分别列出姓名、街道、门牌号码、城市和邮政编码。重复并不表示两组应该合为一份:重复的是字段类型,组名保留的是地址用途。可以用一个明确的假设来理解:若同一人把货物寄往另一处,而账单使用自己的地址,两组的栏目名称仍可相同,内容却不必相同。这个假设只解释标题与字段的关系,不是对任何真实表单业务规则的判断。
组标题还可以表达组内共同属性。教程举出的情形是,标题告知这一组的全部字段都必填。这种说明作用于整组,单项名称仍各自保留。它提示内容整理者,一段文字究竟描述哪个范围很重要:整组的属性不应被误读为某一个字段的名称,某项的具体提示也不必然适用于其他项。
地址示例后面的读屏说明保留了条件。根据配置,有些读屏软件会随每个表单元素读出legend,有些只读一次,少见情况下可能完全不读。因此,不能仅看到页面存在组标题,就写成所有使用者每次都会听到完整的组名。教程同时提出两项考虑:组标题尽量简短,单项标签要足够自明,却不在每个标签里机械重复整个组标题。
这两项考虑并不矛盾。反复读出长组名时,简短标题减少重复负担;组名没有播报时,单项标签仍应表达有用信息。本文对这种联系的分析是:信息可以分层,却不能假定某一层在所有情形中都同样可见或可听。它涉及文字怎样相互补充,并非某款辅助技术已经通过测试的结论。
教程还把分组用到选择列表:多个讲次归属于不同课程,选项组有课程名称,具体选项保留讲次名称。地址与课程这两个例子共同展示了组与成员的层次关系。本文只解释这些连续文字,不给出代码部署或合规验收。页面标记更新于2026年3月27日,首次发布日期未确认;一组有标题,也不能直接推出整张表单已满足全部无障碍要求。
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。