適用于 W3C 可存取豐富網際網路應用程式規格的 消費者介面自動化
網站會使用非同步 JavaScript 和 XML (AJAX) 、DHTML 和 JavaScript 等技術支援的動態內容和進階 UI 控制項來增加其公用程式。 不過,輔助技術經常無法與這些複雜的控制項互動,或向使用者公開動態內容。 無障礙的 Rich Internet Applications (ARIA) 是開發 Web 內容和應用程式的 W3C 技術規格,讓殘障人士能夠存取這些應用程式。
為了支援 ARIA 規格,Microsoft 消費者介面自動化規格可讓開發人員將消費者介面自動化 AriaRole 和 AriaProperties 屬性與 W3C ARIA 角色和狀態或屬性產生關聯。 這有助於 Microsoft Internet Explorer 之類的使用者應用程式支援消費者介面自動化內容中的 ARIA 物件模型,同時保留基準協助工具物件模型。
本附錄提供 W3C 資訊與 Microsoft Active Accessibility 和消費者介面自動化規格的建議對應,利用兩個新的消費者介面自動化屬性。
本主題包含下列幾節:
- 對應至 Microsoft Active Accessibility 和 消費者介面自動化 的 W3C ARIA 角色
- 對應至 Microsoft Active Accessibility 和 消費者介面自動化 的 W3C ARIA 狀態和屬性
- 其他考慮
對應至 Microsoft Active Accessibility 和 消費者介面自動化 的 W3C ARIA 角色
W3C ARIA 角色可以對應至 Microsoft Active Accessibility 角色或消費者介面自動化控制項類型。 使用 消費者介面自動化,AriaRole 屬性也可能支援原始 W3C ARIA 角色。 使用者代理程式可以使用 消費者介面自動化 LocalizedControlType 屬性來提供 W3C ARIA 角色的當地語系化描述;不過,這是選擇性的。 未指定當地語系化字串時,系統會提供預設 LocalizedControlType 字串。 使用者代理程式也可以使用空格作為分隔符號,在 AriaRole 屬性中提供次要角色,如 ARIA W3C 標準中所定義。
對應至 Microsoft Active Accessibility 和消費者介面自動化的 W3C ARIA 狀態和屬性
W3C ARIA 狀態和屬性會對應至各種 Microsoft Active Accessibility,以及消費者介面自動化屬性和函式。 消費者介面自動化 AriaProperties 屬性支援大部分的 ARIA 狀態和屬性。 例外狀況是採用物件參考的 ARIA 屬性 (例如 ARIA 屬性) ,以及協助工具物件模型支援的 ARIA 屬性。 例如,ARIA activedescendent 屬性應該以協助工具物件模型中焦點的專案表示。 指定協助工具物件模型時,ARIA 擁有屬性也應該反映在協助工具物件模型中。
AriaProperties 是字串屬性,具有名稱/值組集合,其分隔符號為等號 (=) 和分號 (;) ,例如「checked=true;disabled=false」。 當這些分隔符號或反斜線出現在值中時,會使用反斜線 (\) 作為逸出。 提供者程式碼可以新增驗證,以驗證檔物件模型中的原始 ARIA 屬性,但並非必要。
W3C ARIA 狀態和屬性 | Microsoft Active Accessibility 屬性 | 消費者介面自動化屬性 | 消費者介面自動化 AriaProperties 屬性 |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (指定來接收焦點) 子項目的屬性 | n/a |
不可部分完成 | n/a | n/a | 不可部分完成 |
忙碌 (busy) | STATE_SYSTEM_BUSY (accState) | n/a | 忙碌 (busy) |
通道 | n/a | n/a | 通道 |
已選取 | STATE_SYSTEM_CHECKED (accState) | ToggleState (切換 控制項模式) | 已選取 |
controls | n/a | ControllerFor | n/a |
describedby | n/a | DescribedBy | n/a |
disabled | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | disabled |
dropeffect | n/a | n/a | dropeffect |
擴大 | STATE_SYSTEM_COLLAPSED或STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (ExpandCollapse 控制項模式) | 擴大 |
flowto | n/a | FlowTo | n/a |
抓住 | n/a | n/a | 抓住 |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | n/a | haspopup |
隱藏 | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | 隱藏 |
無效 | n/a | IsDataValidForForm | 無效 |
labelledby | n/a | LabeledBy | n/a |
層級 | accValue | 由自動化專案樹狀結構表示的 n/a () | 等級 |
住 | n/a | n/a | 住 |
多行 | n/a | 檔 控制項類型 | 多行 |
多重選取 | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (選取 控制項模式) | 多重選取 |
擁有 | n/a (應該反映在可存取的物件樹狀結構) | n/a (應該反映在自動化專案樹狀結構) | n/a |
Posinset | n/a (,以可存取的物件樹狀結構或 childId 表示) | 在自動化專案樹狀結構中表示的 n/a () | posinset |
壓 | STATE_SYSTEM_PRESSED | ToggleState (切換 控制項模式) | 壓 |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
相關 | n/a | n/a | 相關 |
必要 | n/a | IsRequiredForForm | 必要 |
secret | STATE_SYSTEM_PROTECTED | IsPassword | secret |
已選取 | STATE_SYSTEM_SELECTED | IsSelected (SelectionItem 控制項模式) | 已選取 |
setize | n/a | 自動化專案樹狀結構中的 n/a (子計數) | setize |
sort | n/a | n/a | sort |
tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | tabindex |
valuemax | n/a | (RangeValue控制項模式上限) | valuemax |
valuemin | n/a | 最小 (RangeValue 控制項模式) | valuemin |
valuenow | IAccessible::get_accValue | (RangeValue 控制項模式) | valuenow |
valuetext |
IAccessible::get_accValue 注意:設定 valuenow 和 valuetext ARIA 屬性時,accValue 會保存來自 ARIA valuetext 屬性的資料。 |
值 (值 控制項模式) 注意:指定 valuetext 和 valuenow 時,RangeValue和 Value 控制項模式可以與消費者介面自動化並存。 |
valuetext |
其他考量
消費者介面自動化也提供具有Text控制項模式的簡單文字物件模型,其支援在 Document 物件中内嵌物件。 這可讓使用者代理程式和用戶端應用程式視使用者案例而定,將 Web 內容視為 HTML 檔案或傳統桌面 UI。