ARIA簡介 - 動態內容更新

當內容在網頁中動態地變化,它可能會產生無障礙問題。如果讀屏軟件正在閱讀的元素有所更新會發生什麼?如果更新的內容是重要的,你應該中斷用戶和立即將焦點設到新的內容,你只需告知用戶更新,或者你不做任何事情?你如何設置焦點或允許用戶跳轉到更新的內容?

使用標準的腳本,開發人員必須命令在內容更新時什麼會發生,例如Ajax驅動的反饋訊息。開發人員可以讓更新發生,而不通知用戶,通過某種形式的嵌入式聲音提醒用戶更新,也可直接將焦點設置到更新的內容。開發人員必須編寫腳本處理每個情況,從而消除用戶的控制。

使用WAI-ARIA開發人員可以指定動態更新內容的區域live region。一個live region允許內容的更新以讀屏軟件能理解的方式進行。它還允許開發人員添加額外的功能,以提醒用戶,為live region提供控制,確定多少的新內容會被閱讀等。

要創建一個live region,開發者只需在元素中增加一個aria-live屬性為off的數值,polite,assertive,或rude。該數值,或禮貌級別(或侵擾級別),指定在元素被更新時讀屏軟件應做什麼。

Off的數值(aria-live="off")告訴讀屏軟件不宣讀更新。如果當讀屏軟件用戶遇到更新的內容時將即時閱讀。 這用於非重要或不相關的內容的更新。

Polite數值會當用戶完成現時的工作後盡快通知。這可以採用提示聲或音效提示。然後用戶可以選擇直接跳轉到更新的內容。此數值是最常見的內容更新方式,尤其對狀態通知,天氣或股票行情,聊天信息等。

assertive的aria-live數值會立即或盡快提醒用戶內容的更改。這用於重要更新,如錯誤信息。

aria-live="rude",是預留用於在最關鍵的更新。

它會立即通知用戶內容的更新,並很有可能將焦點設置到更新的內容。