跳到內容

輔助功能選項

輔助功能

現在 Mermaid 函式庫的使用範圍更廣泛,我們已開始根據社群的回饋,著手開發更多輔助功能。

新增輔助功能表示,使用輔助技術的人(當然也包括搜尋引擎)可以存取視覺圖表所傳達的豐富資訊。 深入了解可存取的豐富網際網路應用程式和 W3 標準。

Mermaid 會自動插入 aria-roledescription,如果圖表作者在圖表文字中提供,則會插入 可存取的標題和描述。

aria-roledescription

SVG HTML 元素的 aria-roledescription 會設定為圖表類型鍵。(請注意,這可能與圖表文字中使用的圖表關鍵字略有不同。)

例如:狀態圖的圖表類型鍵為「stateDiagram」。以下是 SVG 標籤(部分)的 HTML,顯示自動插入的 aria-roledescription 設定為「stateDiagram」。(請注意,為了清楚起見,省略了一些 SVG 屬性和 SVG 內容。)

html
<svg
  aria-roledescription="stateDiagram"
  class="statediagram"
  xmlns="http://www.w3.org/2000/svg"
  width="100%"
  id="mermaid-1668720491568"
></svg>

可存取的標題和描述

所有圖表/圖表類型都支援可存取的標題和描述。我們已盡力讓所有圖表的關鍵字和格式保持相同,以便容易理解和維護。

可存取的標題和描述會在 SVG 元素中加入 <title><desc> 元素,並在 SVG 標籤中加入 aria-labelledbyaria-describedby 屬性。

以下是產生的 HTML,顯示 SVG 元素由可存取的標題 (id = chart-title-mermaid-1668725057758) 標記,並由可存取的描述 (id = chart-desc-mermaid-1668725057758) 描述;以及可存取的標題元素(文字 = 「這是可存取的標題」)和可存取的描述元素(文字 = 「這是可存取的描述」)。

(請注意,為了清楚起見,省略了一些 SVG 屬性和 SVG 內容。)

html
<svg
  aria-labelledby="chart-title-mermaid-1668725057758"
  aria-describedby="chart-desc-mermaid-1668725057758"
  xmlns="http://www.w3.org/2000/svg"
  width="100%"
  id="mermaid-1668725057758"
>
  <title id="chart-title-mermaid-1668725057758">This is the accessible title</title>
  <desc id="chart-desc-mermaid-1668725057758">This is an accessible description</desc>
</svg>

以下為語法詳細資訊。

可存取的標題

可存取的標題accTitle 關鍵字 指定,後接冒號 (:),以及標題的字串值。字串值會在行尾結束。(它只能是一行。)

範例:accTitle: 這是一行標題

請參閱 accTitle 和 accDescr 使用範例,了解如何在圖表中使用,以及產生的 HTML。

可存取的描述

可存取的描述可以是一行長(單行)或多行長。

單行可存取的描述accDescr 關鍵字 指定,後接冒號 (:),後接描述的字串值。

範例:accDescr: 這是單行描述。

多行可存取的描述 在 accDescr 關鍵字後方沒有冒號 (:),並以大括號 ({}) 包圍。

範例

markdown
accDescr {
This is a multiple line accessible description.
It does not have a colon and is surrounded by curly brackets.
}

請參閱 accTitle 和 accDescr 使用範例,了解如何在圖表中使用,以及產生的 HTML。

accTitle 和 accDescr 使用範例

  • 流程圖包含可存取的標題「重大決策」和單行可存取的描述「Bob's Burgers 制定重大決策的流程」

以下是 SVG 元素產生的 HTML:(請注意,為了清楚起見,省略了一些 SVG 屬性和 SVG 內容。)

html
<svg
  aria-labelledby="chart-title-mermaid_382ee221"
  aria-describedby="chart-desc-mermaid_382ee221"
  aria-roledescription="flowchart-v2"
  xmlns="http://www.w3.org/2000/svg"
  width="100%"
  id="mermaid_382ee221"
>
  <title id="chart-title-mermaid_382ee221">Big decisions</title>
  <desc id="chart-desc-mermaid_382ee221">Bob's Burgers process for making big decisions</desc>
</svg>
  • 流程圖包含可存取的標題「Bob's Burger 制定重大決策」和多行可存取的描述「Bob's Burgers 企業用於制定非常、非常重大決策的官方流程。實際上,這是一個非常簡單的流程:找出重大決策,然後做出重大決策。」

以下是 SVG 元素產生的 HTML:(請注意,為了清楚起見,省略了一些 SVG 屬性和 SVG 內容。)

html
<svg
  aria-labelledby="chart-title-mermaid_382ee221"
  aria-describedby="chart-desc-mermaid_382ee221"
  aria-roledescription="flowchart-v2"
  xmlns="http://www.w3.org/2000/svg"
  width="100%"
  id="mermaid_382ee221"
>
  <title id="chart-title-mermaid_382ee221">Big decisions</title>
  <desc id="chart-desc-mermaid_382ee221">
    The official Bob's Burgers corporate processes that are used for making very, very big
    decisions. This is actually a very simple flow: identify the big decision and then make the big
    decision.
  </desc>
</svg>

其他圖表類型的範例程式碼片段

類別圖
實體關係圖
甘特圖
Git 圖
圓餅圖
需求圖
循序圖
狀態圖
使用者旅程圖