適用於 W3C 可存取的豐富因特網應用程式規格的 UI 自動化
網站會使用異步 JavaScript 和 XML(AJAX)、DHTML 和 JavaScript 等技術支援的動態內容和進階 UI 控件來增加其公用程式。 不過,輔助技術經常無法與這些複雜的控件互動,或向使用者公開動態內容。 無障礙的豐富因特網應用程式 (ARIA) 是一個 W3C 技術規格,用於開發 Web 內容和應用程式,讓身心障礙人士能夠存取它們。
為了支援 ARIA 規格,Microsoft UI 自動化規格可讓開發人員將 UI Automation AriaRole 和 AriaProperties 属性與 W3C ARIA 角色和狀態或屬性產生關聯。 這有助於用戶應用程式,例如Microsoft Internet Explorer 支援 UI 自動化內容中的 ARIA 物件模型,同時保留基準輔助功能物件模型。
本附錄提供 W3C 資訊與Microsoft Active Accessibility 和 UI Automation 規格的建議對應,並利用兩個新的 UI 自動化屬性。
本主題包含下列各節:
- 對應至 Microsoft Active Accessibility 和 UI Automation 的 W3C ARIA 角色
- W3C ARIA 狀態和屬性對應至 Microsoft Active Accessibility 和 UI Automation
- 其他考慮
對應至 Microsoft Active Accessibility and UI Automation 的 W3C ARIA 角色
W3C ARIA 角色可以對應至Microsoft Active Accessibility 角色或 UI 自動化控件類型。 使用UI自動化時,AriaRole 屬性也可能支援原始的W3C ARIA角色。 使用者代理程式可以使用UI AutomationLocalizedControlType屬性,提供W3C ARIA角色的當地語系化描述;不過,這是選擇性的。 未指定本地化字串時,系統會提供預設LocalizedControlType字串。 使用者代理程式也可以使用空格做為分隔符,在AriaRole屬性中提供次要角色,如ARIA W3C標準中所定義。
對應至使用中輔助功能和UI自動化Microsoft W3C ARIA 狀態和屬性
W3C ARIA 狀態和屬性對應至各種Microsoft Active Accessibility 和 UI Automation 屬性和函式。 UI Automation AriaProperties 屬性支援大部分的 ARIA 狀態和屬性。 例外狀況是採用對象參考的 ARIA 屬性(例如,describedby ARIA 屬性),以及輔助功能物件模型支援的 ARIA 屬性。 例如,ARIA activedescendent 屬性應該以輔助功能物件模型中焦點的專案表示。 當指定輔助功能物件模型時,ARIA 擁有 屬性也應該反映在輔助功能物件模型中。
AriaProperties 是字串屬性,其名稱/值組的集合,其分隔符為等號 (=) 和分號 (;),例如 “checked=true;disabled=false”。 當這些分隔符或反斜杠出現在值時,反斜杠 (\) 會當做逸出。 提供者程式代碼可以新增驗證,以驗證文件物件模型中的原始 ARIA 屬性,但並非必要。
W3C ARIA 狀態和屬性 | Microsoft Active Accessibility 属性 | UI 自動化屬性 | UI Automation AriaProperties 屬性 |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (指定接收焦點的子項目屬性) | n/a |
原子 | n/a | n/a | 原子 |
忙 | STATE_SYSTEM_BUSY (accState) | n/a | 忙 |
管道 | n/a | n/a | 管道 |
檢查 | STATE_SYSTEM_CHECKED (accState) | ToggleState (切換 控件模式) | 檢查 |
控制 | n/a | ControllerFor | n/a |
describedby | n/a | DescribedBy | n/a |
禁用 | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | 禁用 |
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 | 檔 控件類型 | 多行 |
multiselectable | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (選取範圍 控件模式) | multiselectable |
擁有 | 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 | 必填 |
秘密 | STATE_SYSTEM_PROTECTED | IsPassword | 秘密 |
選擇 | STATE_SYSTEM_SELECTED | IsSelected (SelectionItem 控件模式) | 選擇 |
setsize | n/a | n/a (自動化專案樹狀結構中的子計數) | setsize |
排序 | n/a | n/a | 排序 |
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 控件模式可以與 UI 自動化共存。 |
valuetext |
其他考慮
使用者介面自動化也提供具有 Text 控件模式的簡單文字物件模型,其支援將物件內嵌在 Document 物件中。 這可讓使用者代理程式和用戶端應用程式視使用者案例而定,將 Web 內容視為 HTML 檔或傳統桌面 UI。