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>