ARIA:計量器角色

meter 角色用於標識用作計量器的元素。

注意: 儘可能,建議您使用本機 <meter> 元素而不是 meter 角色,因為本機元素在使用者代理和輔助技術的支援範圍更廣。

描述

計量器是定義範圍內數值的圖形顯示。例如,顯示電池百分比。計量器不適合沒有有意義的最大限制的值。計量器不應用於指示進度(例如載入),這應該透過 <progress> 元素進行通訊。

每個具有 role="meter" 的元素也必須具有以下之一

所有後代都是演示性的

某些型別的使用者介面元件在平臺無障礙 API 中表示時只能包含文字。無障礙 API 無法表示 meter 中包含的語義元素。為了解決此限制,瀏覽器會自動將角色 presentation 應用於任何 meter 元素的所有後代元素,因為這是一個不支援語義子元素的角色。

例如,考慮以下 meter 元素,其中包含一個標題。

html
<div role="meter"><h3>Title of my meter</h3></div>

由於 meter 的後代是演示性的,因此以下程式碼等效

html
<div role="meter"><h3 role="presentation">Title of my meter</h3></div>

從輔助技術使用者的角度來看,標題不存在,因為前面的程式碼段在 無障礙樹 中等效於以下程式碼。

html
<div role="meter">Title of my meter</div>

關聯的 ARIA 角色、狀態和屬性

aria-valuenow

設定為 aria-valueminaria-valuemax 之間的十進位制值,表示計量器的當前值。

aria-valuetext

輔助技術通常將 aria-valuenow 的值呈現為百分比。如果這樣做不準確,請使用此屬性使計量器值可理解。

aria-valuemin

設定為表示最小值的十進位制值,且小於 aria-valuemax

aria-valuemax

設定為表示最大值的十進位制值,且大於 aria-valuemin

建議您使用本機 <meter> 元素,而不是 meter 角色。使用者代理根據當前 valueminmax 值的關係,為 <meter> 元素提供一個樣式化的視窗小部件。當使用非語義元素時,需要使用 ARIA 屬性、JavaScript 和 CSS 重新建立本機語義元素的所有功能。

示例

使用 role="meter" 的計量器示例

html
<div
  role="meter"
  aria-valuenow="90"
  aria-valuemin="0"
  aria-valuemax="100"
  aria-labelledby="cpu_usage_label">
  <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="width: 90%">
    <rect x="0" y="0" width="100%" height="100%" fill="currentcolor"></rect>
  </svg>
</div>

在上述場景中,當 aria-valuenow 值更新時,SVG 的寬度也需要更新,如 W3C 工作計量器示例 所示。

規範

規範
可訪問的富網際網路應用程式 (WAI-ARIA)
# 計量器

另請參閱