roleform
一个地标区域,包含一组项目和对象,作为一个整体,它们组合在一起创建一个表单。
使用语义正确的 HTML 元素 <form>
意味着默认的 ARIA 语义,意味着不需要 role=form
,因为你不应该将对比角色应用于已经是语义的元素,因为添加角色会覆盖元素的本地语义。
设置与默认隐式 ARIA 语义匹配的 ARIA 角色和/或 aria- *属性是不必要的,因为这些属性已由浏览器设置,所以不建议这样做。
<form action="">
<fieldset>
<legend>Login form</legend>
<div>
<label for="username">Your username</label>
<input type="text" id="username" aria-describedby="username-tip" required />
<div role="tooltip" id="username-tip">Your username is your email address</div>
</div>
<div>
<label for="password">Your password</label>
<input type="text" id="password" aria-describedby="password-tip" required />
<div role="tooltip" id="password-tip">Was emailed to you when you signed up</div>
</div>
</fieldset>
</form>
你会在非语义元素上使用 role=form
(不推荐,无效)
<div role=form>
<input type="email" placeholder="Your email address">
<button>Sign up</button>
</div>