# 建立無障礙網頁 ![關於網頁親和力](../webdev101-a11y.png) > 由 [Tomomi Imura](https://twitter.com/girlie_mac) 繪製 ## 課前測驗 [課前測驗](https://nice-beach-0fe9e9d0f.azurestaticapps.net/quiz/5?loc=zh_tw) > 網路的強大在於它的普遍性。無論用戶是否有殘疾,讓大家無差別地使用網路是必要的。 > > The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect. > > \- Tim Berners-Lee 爵士 ── 全球資訊網協會總監暨網際網路創立者 這段話完美地詮釋建立無障礙網頁的重要性。應用程式若無法服務所有人是建立在排他性設計。身為一位網頁開發員,我們需要時刻警惕著網頁親和力。從此時開始,你接下來創建的網頁要能服務給任何人。在這堂課中,你會學習開發無障礙網頁相關的工具與觀念。 ## 相關工具 ### 螢幕報讀器 (Screen readers) 螢幕報讀器可說是最知名的無障礙工具之一。 [螢幕報讀器](https://zh.wikipedia.org/wiki/%E8%9E%A2%E5%B9%95%E9%96%B1%E8%AE%80%E5%99%A8)已被廣泛地幫助視覺障礙者。就像我們花了不少時間確保瀏覽器能呈現網頁內容,我們也要確保螢幕報讀器能完整地實現相同的工作。 基本上,螢幕報讀器會一行一行地報讀網頁的內容。若網頁都是以文字建構而成,那螢幕報讀器就能達到與瀏覽器相同的功效。當然,網頁不可能只有文字:裡面可能會有連結、圖像、顏色或是其他視覺物件。我們必須確保螢幕報讀器也能呈現出上述物件。 任何一位網頁開發者需要熟悉螢幕報讀器。它們是用戶的好幫手,就像你的瀏覽器一樣,你需要學習螢幕報讀器是如何運作的。幸運的是,它們都內建在大部分的作業系統當中。 有些瀏覽器內建相關工具與擴充插件,報讀出文字甚至是可互動物件:例如[這些以網頁親和力為目標的 Edge 瀏覽器工具](https://support.microsoft.com/zh-tw/microsoft-edge/microsoft-edge-%E7%9A%84%E5%8D%94%E5%8A%A9%E5%B7%A5%E5%85%B7%E5%8A%9F%E8%83%BD-4c696192-338e-9465-b2cd-bd9b698ad19a)。 它們是重要的輔助工具,或許與螢幕報讀器有所差異,但基本上能測試螢幕報讀器的基本功能。 ✅ 嘗試使用螢幕報讀器或瀏覽器朗讀工具。 在 Windows 中,[Narrator](https://support.microsoft.com/zh-tw/windows/%E5%AE%8C%E6%95%B4%E7%9A%84%E6%9C%97%E8%AE%80%E7%A8%8B%E5%BC%8F%E6%8C%87%E5%8D%97-e4397a0d-ef4f-b386-d8ae-c172f109bdb1)內建在系統中,使用者也可以選擇[JAWS](https://webaim.org/articles/jaws/)與[NVDA](https://www.nvaccess.org/about-nvda/)等額外安裝程式。 macOS 與 iOS 平台上則內建[VoiceOver](https://support.apple.com/guide/voiceover/welcome/10)。 ### 放大器 另一項為視覺障礙者提供的輔助程式為放大器。最常見的定點放大功能,可以藉由 `Control + 加號(+)` 或降低螢幕解析度來完成。這個步驟會重新縮放整個網頁,確保網頁的[互動式設計](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design)是縮放頁面重要的一環。 其他放大功能會專注在小部分的區域上,這些額外軟體提供類似於實體放大器的功能。 Windows 內建[放大器](https://support.microsoft.com/zh-tw/windows/%E4%BD%BF%E7%94%A8%E6%94%BE%E5%A4%A7%E9%8F%A1%E4%BB%A5%E8%AE%93%E8%9E%A2%E5%B9%95%E4%B8%8A%E7%9A%84%E5%85%A7%E5%AE%B9%E6%9B%B4%E5%AE%B9%E6%98%93%E7%9C%8B%E5%88%B0-414948ba-8b1c-d3bd-8615-0e5e32204198)功能;第三方程式[ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/)則受到廣泛用戶的使用。 macOS 與 iOS 內建[Zoom](https://www.apple.com/accessibility/mac/vision/)軟體。 ### 對比度檢查器 我們必須謹慎地挑選網頁的顏色對比度,讓色盲人士或低視能障礙者有辦法閱讀文章。 ✅ 利用相關的瀏覽器擴充插件來測試看看你所喜愛的網頁,例如[WCAG's color checker](https://microsoftedge.microsoft.com/addons/detail/wcag-color-contrast-check/idahaggnlnekelhgplklhfpchbfdmkjp?hl=zh-tw)。 你學到了什麼? ### Lighthouse 在瀏覽器的開發者工具中,你能找到一款工具名為 Lighthouse。這項工具可以有效的確認網頁親和力。這邊不強制網頁都要經過 Lighthouse 審核,但 100% 的分數是網頁完美的基礎。 ✅ 在你的瀏覽器開發工具中找尋 Lighthouse ,對任何網頁做分析。 你發現了什麼? ## 提升網頁親和力 網頁親和力是項相對龐大的主體。要尋求幫助,網路上有許多資源可以參考。 - [Accessible U - 明尼蘇達大學](https://accessibility.umn.edu/your-role/web-developers) 我們無法在此說明建立無障礙網頁的所有重點,但下列是開發時重要的核心觀念。從零開始就留意網頁親和力**一定會比**從完成的網頁來增進網頁親和力來的容易。 ## 良好的呈現方式 ### 安全的配色 每個人的觀點都有所不同,包含觀看顏色。如何選擇配色也是網頁親和力的課題之一。下列是一款實用的[安全配色生產工具](http://colorsafe.co/). ✅ 舉出在配色上有問題的一個網頁,告訴大家為什麼? ### 使用合理的 HTML 語法 在 CSS 與 JavaScript 的支援下,我們無法判斷網頁物件的控制目的。 好比 `` 也可以建立 `