語意和瀏覽內容

在網頁導覽介面中,語意的作用

艾麗絲帕克哈爾
Alice Boxhall
戴夫加什
Dave Gash
米金凱爾尼
Meggin Kearney

您已瞭解預設用途和語意,也瞭解輔助技術如何使用無障礙功能樹狀結構,為使用者打造替代的使用者體驗。您可以看到,撰寫生動且語意化的 HTML 只需不太費力,因為許多標準元素都內建語意和支援行為,所以您只要花一點點工夫撰寫即可。

在本課程中,我們將介紹一些較不明顯對螢幕閱讀器使用者很重要的語意,特別是導覽方面。只要使用含有許多控制項但內容不多的簡單頁面,瀏覽頁面就能輕鬆找到所需內容。但是在內含大量內容的頁面 (例如維基百科項目或新聞匯總器中),從由上往下逐一閱讀內容並不實際,您需要設法有效率地瀏覽內容。

開發人員常常誤以為,螢幕閱讀器會很繁瑣且過慢,或者畫面上的所有內容都必須可供螢幕閱讀器找到。但情況通常並非如此。

螢幕閱讀器使用者經常需要標題清單來尋找資訊。大部分的螢幕閱讀器都能輕鬆隔離及掃描頁面標題清單,而這是一項稱為「旋轉器」的重要功能。讓我們瞭解如何有效運用 HTML 標題來支援這項功能

有效運用標題

首先,我們重申一下較早的時間點:DOM 順序案件,這些方法不僅用於對焦順序,也適用於螢幕閱讀器順序。嘗試使用 VoiceOver、NVDA、JAWS 和 ChromeVox 等螢幕閱讀器時,系統會按照 DOM 順序 (而非視覺順序) 顯示標題清單。

這個原則通常適用於螢幕閱讀器。由於螢幕閱讀器會與無障礙樹狀結構互動,無障礙樹狀結構是以 DOM 樹狀結構為基礎,因此螢幕閱讀器感知的順序會直接以 DOM 順序為基礎。這表示適當的標題結構比以往更重要。

在最完善的頁面中,標題層級具有巢狀結構,可指出內容區塊之間的父項-子項關係。WebAIM 檢查清單重複指的是這個技巧。

  • 1.3.1 提及「語意標記用於指定標題」
  • 2.4.1 提及標題結構是略過內容區塊的技術
  • 2.4.6 討論撰寫實用標題的一些細節
  • 2.4.10 陳述「在適當情況下,使用標題指定個別內容區塊」

並非所有標題都必須顯示在畫面上。舉例來說,Wikipedia 所採用的技術刻意將部分標題放在畫面外,專門讓「僅」可供螢幕閱讀器和其他輔助技術存取。

<style>
    .sr-only {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    }
</style>

<h2 class="sr-only">This heading is offscreen.</h2>

如果是複雜的應用程式,如果視覺設計不需要或為可見標題預留空間,這個方法就很適合採用這種做法。

其他導覽選項

雖然具有適當標題的網頁有助於螢幕閱讀器使用者瀏覽內容,但還有其他元素也能用於移動頁面,包括連結表單控制項地標

讀者可以使用螢幕閱讀器的旋轉功能 (輕鬆隔離及掃描頁面標題清單),存取網頁上的連結清單。如同維基,維基可能會有許多連結,因此讀者可能會在連結中搜尋字詞。這會將命中限制為實際包含該字詞的連結,而非網頁上出現該字詞的每個連結。

只有當螢幕閱讀器可以找到連結,且連結文字有意義時,這項功能才有用。例如,以下是讓找到連結不易找到的一些常見模式。

  • 不含 href 屬性的錨定標記。這些連結目標通常用於單頁應用程式,會對螢幕閱讀器造成問題。詳情請參閱有關單頁應用程式的文章
  • 透過連結實作的按鈕。這些做法會導致螢幕閱讀器將內容解譯為連結,且按鈕功能會遺失。此時,請將錨定標記替換成真實的按鈕,然後適當設定樣式。
  • 用作連結內容的圖片。有時候,螢幕閱讀器可能無法使用連結圖片。為了確保連結可正確暴露在輔助技術下,請確認圖片含有 alt 屬性文字。

連結文字品質不佳的問題更是棘手。「瞭解詳情」或「按這裡」等可點選的文字,無法提供有關連結前往位置的語意資訊。請改用「進一步瞭解回應式設計」或「參閱這個畫布教學課程」等描述性文字,協助螢幕閱讀器提供與連結相關的有意義的背景資訊。

旋轉器也可以擷取表單控制清單。讀者可以透過這份清單搜尋特定項目並直接前往。

螢幕閱讀器的常見錯誤就是發音。舉例來說,螢幕閱讀器可能會將「Udacity」發音為「oo-dacity」、將電話號碼解讀為大型整數,或讀出大寫的文字,就像是首字母縮寫。有趣的是,螢幕閱讀器使用者已相當熟悉這項功能,因此將這個功能納入考量。

有些開發人員試圖透過提供拼音方式的螢幕閱讀器專用文字,試圖讓這種情況變得更加明顯。以下是一個簡單的拼音規則:不要這樣做,只會讓問題更嚴重!舉例來說,如果使用者使用點字顯示器,就會有錯字,導致使用者產生更多混淆。螢幕閱讀器可朗讀字詞的拼寫,因此請讓讀者能控制自身體驗,並決定何時該採取必要行動。

讀者可以使用轉輪查看地標清單。這份清單可協助讀者找到主要內容和由 HTML 地標元素提供的導覽地標組合。

HTML5 推出了一些新元素,可協助定義網頁的語意結構,包括 headerfooternavarticlesectionmainaside。這些元素可在網頁中提供結構線索,而不用強制採用任何內建樣式 (對於 CSS 也是如此)。

語意結構元素會取代多個重複的 div 區塊,並為作者和讀者提供更清楚、更淺顯易懂的頁面結構。