带有复选框以选择每一行的HTML表是否应该包含在带有图例元素的字段集中?
字段集和图例元素用于对相关表单控件进行分组。这很容易理解并适用于“常规”表单,例如“您的详细信息”字段集,其中包含姓名、姓氏等文本输入字段 但是,在应用程序的列表页上,用户在对所选行执行批量操作之前,是否应该使用fieldset和legend元素,在该应用程序中,用户通过关联的复选框选择表行 例如:带有复选框以选择每一行的HTML表是否应该包含在带有图例元素的字段集中?,html,accessibility,Html,Accessibility,字段集和图例元素用于对相关表单控件进行分组。这很容易理解并适用于“常规”表单,例如“您的详细信息”字段集,其中包含姓名、姓氏等文本输入字段 但是,在应用程序的列表页上,用户在对所选行执行批量操作之前,是否应该使用fieldset和legend元素,在该应用程序中,用户通过关联的复选框选择表行 例如: <form> <fieldset> <legend>Users</legend> <table> <
<form>
<fieldset>
<legend>Users</legend>
<table>
<thead>
<tr>
<th></th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="SelectedItem" value="Anna" /></td>
<td>Anna</td>
</tr>
<tr>
<td><input type="checkbox" name="SelectedItem" value="Chris" /></td>
<td>Chris</td>
</tr>
</tbody>
</table>
<label for="ListAction">Bulk action</label>
<select id="ListAction" name="ListAction">
<option value="Nothing" selected="selected">Select action</option>
<option value="Delete">Delete</option>
<option value="Suspend">Suspend</option>
</select>
<input type="submit" value="Go" name="BulkActionGo" />
</fieldset>
</form>
使用者
名称
安娜
克里斯
批量操作
选择动作
删除
暂停
声明“分组控件对于相关单选按钮和复选框最为重要。当一组单选按钮或复选框都提交单个命名字段的值时,它们是相关的。”
上述示例就是这种情况,但fieldset/legend似乎仍然不适合此用例,它可能包含大量表格数据和不相关的分页控件,而不是一组简单的表单控件。不,没有理由将其包含在fieldset中。如果要应用样式元素或在JavaScript中引用样式元素,可以将其放在div中,但在这种情况下,字段集没有任何实际应用。不,没有理由将其包含在字段集中。如果要应用样式元素或在JavaScript中引用它,可以将其放在div中,但在这种情况下,字段集没有任何实际应用。最简单的解决方案是使用不同的名称命名每个复选框,例如使用数组(例如,在PHP中很容易解析) 如果要指定单个记录的特征,则意图不同,复选框名称可能链接到行,而不是列
<div class="group">
<div class="member">
<div class="name">John</div>
<label><input type="checkbox" name="john[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="john[play_guitar]" value="1" />Play guitar</label>
</div>
<div class="member">
<div class="name">Paul</div>
<label><input type="checkbox" name="paul[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="paul[play_guitar]" value="1" />Play guitar</label>
</div>
</div>
约翰
唱
玩吉他
保罗
唱
玩吉他
这将使辅助技术能够轻松处理表单,而无需使用任何冗余的
字段集最简单的解决方案是使用不同的名称命名每个复选框,例如使用数组(例如在PHP中很容易解析)
如果要指定单个记录的特征,则意图不同,复选框名称可能链接到行,而不是列
<div class="group">
<div class="member">
<div class="name">John</div>
<label><input type="checkbox" name="john[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="john[play_guitar]" value="1" />Play guitar</label>
</div>
<div class="member">
<div class="name">Paul</div>
<label><input type="checkbox" name="paul[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="paul[play_guitar]" value="1" />Play guitar</label>
</div>
</div>
约翰
唱
玩吉他
保罗
唱
玩吉他
这将使辅助技术能够轻松地处理表单,而无需使用任何冗余的字段集
是的,任何东西都可以在字段集中
,它就像表单的通用容器一般,提交
不应该在
中,但是。@junkfoodjunkie很好的一点,在这种情况下,需要定位黑客将提交按钮与其批量操作选择器视觉关联。编辑:和批量操作控件一样,还有带有“Go”按钮的数字输入字段,用于直接跳转到表格数据的特定页面。是的,任何内容都可以位于字段集中,它就像表单的一般容器一般,submit
不应该在
中,但是。@junkfoodjunkie很好,在这种情况下,需要定位黑客来直观地将submit按钮与其批量操作选择器相关联。编辑:与批量操作控件一样,还有带有“Go”的数字输入字段用于直接跳转到表格数据的特定页面的按钮。字段集用于包装表单控件元素,它们在表单中始终具有实际应用。或者更确切地说,这就是它们的用途。应该始终使用
,而不是像
这样的非描述性容器,因为
具有语义含义,而
没有语义含义。上面的建议在可访问性和语义方面都非常糟糕。很抱歉,我误解了这个问题,是的,字段集是合适的。字段集用于包装表单控件元素,并且它们在表单中总是有实际应用。或者更确切地说,这就是它们的用途。应该始终使用
,而不是像
这样的非描述性容器,因为
具有语义含义,而
没有语义含义。上述建议在可访问性和语义方面都非常糟糕。对不起,我误解了这个问题,是的,字段集是合适的
<div class="group">
<div class="member">
<div class="name">John</div>
<label><input type="checkbox" name="john[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="john[play_guitar]" value="1" />Play guitar</label>
</div>
<div class="member">
<div class="name">Paul</div>
<label><input type="checkbox" name="paul[is_singer]" value="1" />Sing</label>
<label><input type="checkbox" name="paul[play_guitar]" value="1" />Play guitar</label>
</div>
</div>