無障礙:使用 Microsoft Edge 和 Windows 10 建立更有包容性的網頁
Microsoft 承諾會將無障礙性視為軟體設計的核心部分,而今天要和大家分享更多有關於輔助技術支援如何跨過了 Internet Explorer,在 Microsoft Edge 展開支援的提升。
包容性開發是一個歷程,不僅僅只是一個目的地,我們將持續致力於進化 Microsoft Edgeand,使其成為 Windows 最親和便利的瀏覽器。我們已經向前邁進一大步,在 Microsoft Edge 中做了架構的變更。短期看來,相較於 Internet Explorer,一些改變好像是倒退。但是從長遠的眼光來看,這是有利於提供所有使用者更多的包容性體驗。這篇文章概述我們更親和便利的網頁體驗歷程,包含 Microsoft Edge 今天的一些改變,以及給第三方輔助技術軟體的使用者在 Windows 10 的一些建議。
更親和便利網頁體驗的歷程
從 Windows 98 開始,Windows 使用 Microsoft Active Accessibility ( MSAA ) API 來陳述功能按鈕、功能選擇單、文字和其他螢幕上的內容,以便達到輔助技術。輔助技術廠商也使用 MSAA API ( 伴隨著其他的應用程式特定 APIs 一起使用,如 IE 的 DOM、office 的 Office Object Model,乃至 scraping video drivers ) 來使文字和使用介面更加親和便利。這些技術是有缺點的,在不同程式和文檔間瘋狂的改變,將導致破碎和不可靠的體驗。所以伴隨著使用者介面、文檔和網頁顯著的更加複雜,Microsoft 從 Vista 開始就導入更先進的 UI Automation ( UIA ) API,做為 MSAA 的接班人。
UIA 可以更詳細的揭露使用者介面和結構化文檔的資訊,他不僅能提高效能,也可以跨平台移植。在所有類型的輔助技術,因為 UIA 取代了各種有可能不可靠和無法相互操作的單一 API 技術,因而減少了軟體的複雜性,允許開發者更簡單的來陳述新穎的 UI 概念,也提高了網頁和本機應用程式間運作的穩定性和操作的一致性。
雖然 UIA 在 2005 年取代了 MSAA,Internet Explorer 依然依賴著 MSAA,所以就使用了一個 ‘bridge’ 來做 MSAA 和 UIA 之間的轉換橋梁。靠著這個橋接器,可以在 Internet Explorer 中引導出了許多 bug 和效能問題。多年來,瀏覽器團隊的目標是完全的使用 UIA 來實作。
Microsoft Edge 對於無障礙的投入
在 Microsoft Edge,我們很興奮終於有機會將 MSAA 轉換為 UIA,伴隨著大量的投入,我們重新建構 DOM 的具體實作和從無到有的重寫了瀏覽器的使用介面。在無障礙瀏覽器,轉換到 UIA 是由史以來最大的投入。在Win10,這也為依賴輔助技術的使用者奠定了的一個更多包容性網頁體驗的基礎。因為 EdgeHTML 全面使用於 Windows 10 ( Universal Windows Apps 的裡面,在 Cortana 等 ),這些效益將會是一個跨越瀏覽器的影響,使用者也將受益於 EdgeHTML engine 的長青 ( evergreen ) 性質 。
今日你可以看到 Windows 10 內建的朗讀程式 ( Narrator ) 讓許多動作進步了,在不久的將來,我們可以使用朗讀程式來訪查 UIA,如同我們使用第三方輔助技術的 provider 來同步運作一樣。例如,雖然 MSAA 只支援基本的 UI 結構,但是經由朗讀程式和 Microsoft Edge 的 UIA 一起在來描述更複雜的角色、狀態和屬性,可以更好的表示結構嚴密和互動式的文檔。
Microsoft Edge 的朗讀程式公開的一組新的無障礙功能,包含:
• ARIA 角色: none, article, definition, log, math, note,scrollbar, application, banner, complementary,contentinfo, form, main, navigation, search
• ARIA 屬性: aria-atomic, aria-autocomplete, aria-dropeffect, aria-grabbed, aria-label, aria-multiline, aria-orientation, aria-sort, aria-valuetext
• HTML 的標題 (<h1> to <h6>) 經由角色和屬性來公開
• Indeterminate 屬性的 HTML checkbox
• Narrator table 和閱讀列表的提升
• 在HTML5 表單元素中加入 UIA 具體實作
Microsoft Edge 團隊將持續和 W3C、瀏覽器廠商協同合作,在現有基礎上確認這個新的網頁平台是否內建足夠的無障礙功能。例如,Internet Explorer 是第一個支援 <track> 元素和 WebVTT 影像字幕格式的瀏覽器。這些我們在 Windows 10 中做的事情,讓我們有好的基礎,可以更快速發行一些未來新功能,如同我們承諾過要讓 EdgeHTML 變成一個長青的平台。
持續更好:我們要做的事項
我們認為 Microsoft Edge 還未提供一個完全無障礙的瀏覽體驗,創建一個新的瀏覽器是需要在所有層級的產品中提供一個新的使用者體驗。Windows 測試人員與一些無障礙的團體都相繼提供有價值的回饋,我們將依優先順序來提升 Microsoft Edge 的瀏覽器控制項和網頁本身的無障礙性。相信這會在未來幾個月陸續實現,這些功能包括:
- 在一些主要的使用者界面元素,提供更好的鍵盤應用和朗讀程式支援,如網址欄、設定,我的最愛,歷史記錄和下載。
- 支援 PDF 文件的語法標記,例如段落、鏈接和圖像,包含指定替代文字到鏈接和圖像。PDF 的提升還包括為文檔中的鏈接提供更好的鍵盤應用。
- 改進 Flash 的無障礙性。
- ARIA 和 HTML 對應到 UIA 的增進。
我們未來將持續的提升功能,而以下是未來最先要做的工作事項:
- HTML 語義元素和導航地標的朗讀
- 無障礙物件名稱和描述: Computation and API Mappings 1.1
- 提升到 Core Accessibility API Mappings 1.1 ( ARIA 實現 )
- 提升到 HTML Accessibility API Mappings 1.0 ( HTML 輔助功能實現 )
- 在預設的導航朗讀中加入文字朗讀
- 提升 PDF 文檔標籤的支援
最後,我們正努力協助實現 WebDriver 的支援,以達到無障礙 API 的自動測試。
這份清單只是個開始,我們將持續投入 Microsoft Edge,並且經由這個部落格來宣布發展路線圖。我們也會根據優先權對上述的事項做更新,並且將相關資訊放在進度和狀況。鼓勵您可以經由回饋管道,在事項的優先順序上給予回饋,以協助我們在工作層級上做更適當的安排。
給輔助技術使用者使用 Windows 10 的建議
許多輔助技術使用者依賴第三方螢幕導讀軟體,所以我們目前正密切的和這些較廣為人用的第三方輔助技術廠商合作,藉由幫助他們轉換到 UIA,以提供使用者比在 Internet Explorer 中更好的使用體驗。經由這些溝通管道,他們給予有價值的回饋,讓我們更能逐步的拉近 UIA 和其他 API 的差距,如 MSAA 和 IAccessible2 等 API。
依賴於第三方輔助技術的使用者應該讀一下 Rob Sinclair 在微軟的無障礙部落格所發表的文章, "使用者對 Windows 10 螢幕導讀和放大鏡的升級注意事項 "。一些第三方輔助技術也許還未完全相容於 Microsoft Edge,在短期內,如果我們的合作夥伴想要完成這些轉換,我們建議先使用最方便的瀏覽器 Internet Explorer 和其工具 。隨著我們持續的在 Windows 10 中發展輔助技術的 provider 和 UIA,我們期待能消除 Microsoft Edge 和Internet Explorer 的差異,並且在未來數個月,第三方輔助技術也能一併提供朗讀功能的 UIA 支援。
假如你在 Windows 10 上使用輔助技術遇到問題,你可以聯絡微軟無障礙問題回覆台,或者聯繫你的輔助技術廠商,以獲得他們在 Windows 10 和 Microsoft Edge 的更多支援資訊。
隨著我們持續的提升 Windows 10 的無障礙性,你的回饋是至關重要的。我們鼓勵你可以考慮加入 Windows 測試人員,分享你的經驗和建議給我們。
TechDays 2015 相關課程 - Microsoft Edge : 為您現代化網站準備好的全新瀏覽器 ,看完還可以參加 TechDays 2015 潛力股 - 誰是攀升王由您來決定!超值好康活動。
原文翻譯自:Accessibility: Towards a more inclusive web with Microsoft Edge and Windows 10