【发布时间】:2021-03-15 14:42:17
【问题描述】:
将多步骤表单实现为 1 个大表单(1 个 <form> 标签)是否存在任何可访问性问题,其中多个字段的可见性通过 javascript 逻辑处理,而不是具有多个表单(多个 <form> 标签),其中实际的表单本身由 javascript 管理。
简而言之,你愿意:
方法一
<form>
<div id="step-1">
<input />
<input />
</div>
<div id="step-2">
...
</div>
</form>
如果我们选择这种方法,这里还有一个子问题。那么这些步骤应该是fieldset标签吗?
或
方法 2
<form id="form-1">
<div id="step-1">
<input />
<input />
</div>
</form>
<form id="form-2">
...
</form>
如果我们选择这种方式,是否应该做些什么来告诉用户他们在同一个表单上(通过属性或类似的东西)?
如果有什么不同,可能值得注意的是我正在开发一个单页应用程序。
【问题讨论】:
-
正确的方法应该是“1”。可以添加Fieldset,它会很有用。您可以将
aria-current = "step"添加到活动部分,并将@987654328@ 添加到其他步骤。另见:stackoverflow.com/a/52935539/11151040
标签: javascript html accessibility