簡單介紹HTML5 Landmark

2020-12-20 紙鶴視界

最近在進行無障礙相關文檔翻譯的時候遇到了 landmark 的概念,在網上搜了下發現沒有相關的中文資料,因此寫一篇博客簡單介紹一下。

什麼是 Landmark

Landmark 是一種用來表示網頁組織結構的方法。通常一個網頁可以被切分成幾個大塊

以一個視頻網站為例,網頁的最上方是一條banner,左側是一個導航欄,右側顯示視頻。網頁可以通過這種切分方式來分割出不同的功能區。當然在一個功能區內也可以遞歸地進行切分,這裡先不展開。 對於一個視力障礙者,他無法像常人一樣理解從視覺角度傳達出的網頁結構信息,那麼就需要網頁開發者預先將網頁的結構規劃好,並將結構信息寫在HTML代碼裡,最終將網頁的結構信息通過讀屏軟體表達出來。 而landmark就是連接網頁結構信息和讀屏軟體的橋梁。網頁開發者通過landmark對網頁區域進行標註,讀屏軟體讀取landmark信息並傳達給視力障礙者。

如何使用 Landmark

事實上,在HTML5 landmark出現之前,就已經有landmark的概念了。landmark有以下幾種main,navigation,complementary,banner,contentinfo,form,region,search。通過使用<div role="main">就定義了一個main landmark。

而在HTML5中定義了一些全新的標籤,並賦予他們隱式的landmark語義。HTML5 Landmark主要有以下幾種

這些標籤本身就隱含著landmark的含義,也就是說<main>和<div role="main">是完全等價的。

對於search landmark沒有定義專用的HTML標籤,通常使用<form role="search">來實現。

也就是說,在上一節引用的網頁中

對於1號區域,應當把所有的內容放到一個<header></header>中,標識該部分是banner對於2號區域,應當把所有的內容放到一個<nav></nav>中,標識該部分是導航欄對於3號區域,應當把所有的內容放到一個<main></main>中,標識該部分是網頁的主要內容讀屏軟體會生成一系列的跳轉連結來幫助視力障礙者確定網頁的結構並迅速跳轉至需要的部分。

在HTML5之前,只能通過role屬性來定義landmark,HTML5推出的新標籤能夠在保持可訪問性的情況下簡化標記。但並不是每個用戶使用的輔助工具都支持最新的標準,因此許多教程推薦使用<main role="main">的寫法來同時兼容兩種標準。W3C的標準不鼓勵在已經含有隱式語義的情況下使用role屬性,因為兩者語義衝突的情況下可能導致無法預計的表現。

區分同類型的 Landmark

有時候頁面中可能會有多個導航欄,分別有不同的作用。比如一個電商網站有一個主導航來跳轉到購物車、收藏夾等不同的頁面;還有一個產品導航來跳轉到電子產品、嬰兒產品。如何對兩者進行區分呢,這裡需要使用aria-label或者aria-labelledby屬性。

<nav aria-label="主導航"> <ul> <li>主頁</li> <li>購物車</li> <li>收藏夾</li> </ul></div> <nav aria-label="產品導航"> <ul> <li>嬰兒產品</li> <li>電子產品</li> <li>體育產品</li> </ul></div>這樣讀屏軟體會分別生成以下兩個連結

導航,主導航導航,產品導航這樣就將不同的landmark區分開了。

使用讀屏軟體讀取 Landmark

為了更好地理解landmark,我嘗試使用讀屏軟體來測試網頁上的landmark。這裡我使用的是Windows系統自帶的講述人

按下Caps Lock + F5來顯示網頁中所有的landmark。

按下Caps Lock + N,可以看到講述人光標移動到了網頁的主要內容部分。

使用D或Shift + D可以在landmark間切換,同時會朗讀出每個landmark的信息。這裡可以看到有一個search landmark,它在banner landmark的內部,這就是landmark嵌套的情況。對於landmark嵌套有一系列的規則,感興趣的讀者可以自己了解。

總結

和單詞的原意一樣,landmark就像是一個網頁的許多個「入口」或「地標」。通過landmark標註網頁結構的信息,可以幫助視力障礙者通過讀屏軟體了解網頁的結構,並迅速到達需要的部分。然而正如並非所有的讀屏軟體都支持HTML5 Landmark一樣,並非所有視力障礙者都了解landmark的概念並知道如何使用landmark。因此提供傳統的跳轉連結來跳過導航直接跳轉到內容仍然是有必要的。

相關焦點

  • html中
    標籤換行符詳細介紹
    本篇將介紹html中換行符<br>標籤的用法,有興趣的朋友可以看一下!在html中,有幾個很簡單的但很實用的單標籤,今天就將介紹其中一個用的很頻繁的標籤,即<br>標籤,以及它的一些寫法(<br>、</br>、<br/>)的區別。
  • html中標籤的詳細介紹
    本篇將介紹的是html中<col>標籤的用法,有興趣的朋友可以學習一下!在網頁中,表格是經常用到的,接下來介紹的這個標籤就和表格有關係,即<col>標籤。該標籤在表格中起到很重要的作用,我們一起來看看吧!
  • html中label標籤的詳細介紹
    本篇將介紹的是html中的<label>標籤的用法,由興趣的朋友可以了解一下!在網頁開發中,表單是經常用到的,而今天要介紹的這個標籤也是經常出現在表單中的,即<label>標籤,我們一起來看看它有什麼用途吧!「label」作為英文單詞有「標記」的意思,那它作為html中的標籤又有什麼意思呢?下面我們就一起來看看吧!
  • html中select標籤(下拉列表)的詳細介紹
    本篇將介紹html中select標籤(下拉列表)的詳細用法,有興趣的朋友可以了解一下!在網頁中,下拉列表很常見,那你知道在html原始碼中是怎麼實現的嗎?今天小編要分享的就是html中實現下拉列表的標籤,即select標籤。
  • html中sub標籤(下標)的詳細介紹
    本篇將介紹html中sub標籤(下標)的詳細用法,有興趣的朋友可以了解一下!「sub」是英文單詞「subscript」的縮寫,有「下標」的意思。顧名思義,它在html中作為標籤也有「下標」的意思,是用來定義下標的。接下來我們一起來看看html中sub標籤的定義及用法吧!
  • 什麼是HTML?介紹甚至初學者的理解
    標籤和元素之間的區別將在下一頁介紹。什麼是HTML5?什麼是XHTML?您經常會看到帶有數字後跟HTML的「HTML 5」表達式。此外,您可能已經看到了名稱「XHTML」。我將簡要介紹它們。5,HTML 4.1等。
  • html菜鳥教程,HTML新手如何快速入門
    首先來認識一下HTML:HTML是一種超文本標記語言,目前已經發展到了第五代:HTML5。3、HBuilder,這個是後期專業做前端的開發工具,除了html以及js等的代碼編寫之外,還有自帶了容器啟動,頁面可以隨時瀏覽並刷新。可以開發APP、小程序等等,同時也支持Debug模式,支持在前端開發過程中的聯調,作為html開發人員的晉級IDE工具。
  • 9款令人驚嘆的HTML5 3D動畫應用
    今天我們要向各位HTML5動畫愛好者介紹更多的HTML5 3D動畫應用,希望大家能更加喜歡。1、HTML5鯨魚動畫 又一款超酷HTML5動畫之前看到過同樣效果的一款鯨魚動畫,不過可惜的是那個動畫是用flash製作的。今天我找到了基於HTML5的鯨魚動畫,鯨魚會隨著滑鼠的移動而遊動,畫面非常立體,鯨魚也超級逼真。
  • HTML5 超炫酷 3D 煙花動畫
    插件簡介今天要為大家展現一款非常絢麗的HTML5 Canvas 3D煙花動畫,和之前分享的這款HTML5製作一場精美的煙花盛宴相比
  • 香港|中環置地廣場的名人飯堂 Cafe Landmark
    近2年,這裡都用餐「淪陷」了,通常用餐時間需要排隊,最好錯開高峰期哦~tea set比之前介紹過的各種餐廳更為中西合璧,個人口感覺得會稍微遜色一些。可能怪我真的吃得太多下午茶,有點挑(算是名人飯堂)餐廳:cafe landmark地址:香港中環置地廣場中庭,如圖,非常顯眼。
  • HTML5 | 0 5 1 - 瀑布流排版 -【高情懷必備】
    050 介紹了終極版三叉戟布局,既然是進階系列布局
  • HTML5 video視頻播放器開發教程
    先介紹一下所需要的js庫:1、zepto.js (相當於移動版的jQuery)2、TweenMax (js動畫庫)3、Hammer.js (觸屏設備手勢庫)4、hls.js (是Apple的動態碼率自適應技術,用於播放m3u8格式的視頻文件)一、用html5+css3製作視頻播放器的皮膚:<!
  • 網頁前端技術HTML教程第一講
    第二:Html簡單的講就是用來編寫網頁的。第三:用Html代碼編寫的網頁,使用瀏覽器打開。第四:市面上有很多的瀏覽器,我不 一 一 介紹。但我給大家介紹幾個主流的瀏覽器 IE瀏覽器 Egde瀏覽器 GoogleChrome瀏覽器 火狐瀏覽器 Safari瀏覽器 Opera瀏覽器這六款瀏覽器是現在目前市場上主流瀏覽器,給大家做個介紹。IE瀏覽器和Edge瀏覽器都是微軟公司的產品。Win10之前Windows系統自帶的瀏覽器是IE瀏覽器。Win10使用的瀏覽器是Edge瀏覽器。
  • html中的a標籤,超連結代碼的詳細介紹
    今天為大家介紹的是超連結代碼a標籤的用法,大家有興趣的話可以看看喲!隨著網際網路的發展,網站的興起,超連結隨處可見。我們使用電腦或手機上網,能夠穿梭在各個網頁之間,都是通過超連結實現的。超連結就像通向另一個「 世界」的橋梁,我們可以通過它到達另一個「世界」。接下來我們就來學習一下網頁中的超連結到底是什麼東西。
  • html2canvas - 動態生成海報的優質js庫
    今天分享的html2canvas就可以。介紹在微信項目中經常會遇到動態生成海報的需求,Web前端合成圖片往往會使用canvas。canvas雖然強大,但用來合成海報非常繁瑣,一不小心就幾百行代碼了。而html2canvas.js是一款輕鬆地將HTML+CSS寫成的布局直接轉換成canvas,生成可保存分享的圖片。
  • 前端HTML5 常見面試題及答案(匯總)
    (1) 繪畫canvas(2) 用於媒介回放的video和audio元素(3) 本地離線存儲localStorage長期存儲數據,瀏覽器關閉後數據不丟失(4) sessionStorage的數據在瀏覽器關閉後自動刪除(5)
  • 刺客信條大革命諾斯特拉達姆士解謎心得介紹
    那麼如何解開刺客信條大革命諾斯特拉達姆士謎題呢,這裡簡單給各位介紹一番。   其實解開謎題一開始很難,但是在摸熟了套路後就挺簡單了,注意以下幾天就可以了。   1、尋找謎語中的關鍵字;   2、去附近幾個標誌性歷史建築或無名landmark出尋找線索或者謎題符號;   比如說你看到Robert,你可以馬上搜索一下附近哪個建築物的介紹是和Robert
  • 基於HTML5 Canvas 的交互式地鐵線路圖
    感覺總是有各種容易看串的信息,利用 html5 canvas 完成的這個交互式地鐵線路圖 Demo,如果地鐵上的展示信息稍微有點交互會怎麼樣?不用忙著上車下車,輕輕一點,就能省去很多時間。效果圖http://www.hightopo.com/demo/subway/index.html地圖稍微內容有點多,要全部展示,字顯得有點小了,但是沒關係,可以按照需求放大縮小,字體和繪製的內容並不會失真,畢竟都是用矢量繪製的~界面生成
  • 對於html代碼的初步理解
    告訴瀏覽器我們的內容需要什麼樣的格式來展示)語言 ===>hyperText markup languageHTML作用: 將想要展示的內容放在瀏覽器中(內容包括文字,圖片,視頻,超連結等)HTML文件的創建方式 (1)修改文件的擴展名 例:將.txt改成.html
  • 種類繁多 家庭照明燈具分類簡單介紹
    】現代家居離不開照明,家居照明燈具不僅種類繁多,不同的分類方法也會有不同的詳細分類,下面本文就重點從燈具的外形和功能上來對不同的燈具進行簡單介紹外形多種多樣,但都比較簡單,例如長方形,正方形,圓形,球型,圓柱形等,吸頂燈使用的光源有白熾燈、節能燈、燈管等等,多種多樣,不一而足。 雖然外形比較簡單,但吸頂燈通常能夠通過不同顏色的搭配和極具美感的圖案來將室內裝點得十分美觀。吸頂燈的特點是體積小,安裝方便,大眾化,經濟實惠。 吊燈 吊燈一般有單頭吊燈和多頭吊燈兩種。