精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我應該使用按鈕還是鏈接

開發 前端
了解按鈕和鏈接的區別很重要。我曾看到有人錯誤地將它們混為一談,過度簡化為 "執行動作 "的元素。雖然它們都能讓用戶執行不同的操作,但這并不意味著它們是相同的元素。

在網頁無障礙領域,最具爭議的問題之一是,在創建某些類型的交互元素時,應該使用按鈕還是鏈接。為什么這個問題如此有爭議?多年來,無障礙專家已經無數次回答了這個問題。同時,還有大量的參考文獻提供了這個問題的答案。

答案很簡單,只有在沒有考慮到為什么鏈接和按鈕的外觀和行為完全不同的情況下,才會引起爭議。

按鈕和鏈接的行為有何不同?

首先,了解按鈕和鏈接的區別很重要。我曾看到有人錯誤地將它們混為一談,過度簡化為 "執行動作 "的元素。雖然它們都能讓用戶執行不同的操作,但這并不意味著它們是相同的元素。

我們通過閱讀一些 HTML Living Standard 和 WAI-ARIA 1.2 的內容來回答這個關于行為差異的問題。

注意:本文僅討論 HTML <button> 和 <a> 元素。

關于鏈接

HTML Living Standard 有一個專門討論鏈接的部分。以下是該文檔提供的釋義:

鏈接是一個概念性結構,代表兩個資源之間的連接。

它還指出,鏈接有兩種類型:外部資源鏈接和超鏈接。

我們分別舉例說明。

外部資源鏈接

指向外部資源的鏈接是指當前網站之外的資源。可以通過設置 rel 屬性為 "external" 來標記這些鏈接,然后還可以使用像 a[rel="external"] 這樣的 CSS 屬性選擇器對它們應用獨特的樣式。例如,您可能選擇在每個 rel="external" 的鏈接后面附加文本 "(外部鏈接)"。這可以通過以下 CSS 實現:

a[rel="external"]::after {
  content: " (external link)";
}

相關概念:提前警告用戶上下文變化,以盡量減少混淆

還可以對帶有 target="_blank" 的鏈接應用特殊樣式。在以下示例中,文本“(在新標簽頁中打開)”被添加到鏈接中,以警告用戶激活鏈接時會發生多個上下文變化。

a[target="_blank"]::after {
  content: " (opens in new tab)";
}

這與 Success Criterion 3.2.5: Change on Request 有關,該標準指出:

只有在用戶提出要求時才會更改上下文,或者有一種機制可以關閉這種更改。

出于許多原因,提醒用戶某個操作會導致上下文變化非常重要。一些用戶可能因為認知限制或視覺、閱讀或智力障礙而無法察覺到上下文的變化。對于運動能力有限的用戶來說,意外和不必要的上下文變化會導致他們需要付出額外努力才能回到原來的狀態。

超鏈接

超鏈接是指向當前網站內資源的鏈接。下面是一些例子:

  • 鏈接到當前頁面上的另一個位置,例如目錄有一個鏈接到標題元素的鏈接
  • 鏈接到網站的另一個頁面,例如鏈接到另一個網站的相關博文
  • 可下載文件的鏈接,這些文件將在以后使用,而不是立即使用

根據 HTML Living Standard,<a> 元素的 rel 屬性有多個值可用于指定元素為超鏈接:alternate、author、bookmark、help、license、next、prev、search 和 tag。

我列出這長長的值列表并不是因為我認為了解每一個都很重要。這樣做是為了更明顯地展示原生 <a> 元素所處理的大量功能。你可能聽說過,當你想將 <button> 元素變成鏈接時,可以應用 role="link",但這遠遠不夠。

當想渲染一個鏈接時,不使用原生的 <a> 元素會導致大量功能喪失,而我們討論的這一個屬性只是觸及了表面。在這里,ARIA 的第一條規則非常重要:

如果可以使用具有所需語義和行為的原生 HTML 元素或屬性,而不是重新利用一個元素并添加 ARIA 角色、狀態或屬性來使其可訪問,那么請這樣做。

ink ARIA 角色

在定義鏈接方面,我們還有一個話題要討論,那就是 link 角色。 link 是 <a> 元素的默認角色。下面是該角色的定義方式:

對內部或外部資源的交互式引用,激活后可使用戶代理導航到該資源。

還有一條注釋寫道:

如果按下鏈接會觸發操作,但不會改變瀏覽器焦點或頁面位置,建議作者考慮使用按鈕角色而不是鏈接角色。

根據我們迄今為止所了解的所有信息,我認為我們可以對鏈接做出如下定義:連接兩個資源的元素,激活后可執行以下操作之一:下載鏈接資源、將瀏覽器焦點切換到頁面的另一部分或將瀏覽器位置切換到另一個頁面。

關于按鈕

HTML Living Standard 并沒有像對鏈接那樣為我們提供太多關于按鈕的非技術信息,因此我將依賴 MDN Web 文檔和 WAI-ARIA 1.2 規范來進行定義。

<button> 元素

MDN Web Docs 對按鈕元素的定義如下

<button> HTML 元素是一種交互式元素,用戶可以用鼠標、鍵盤、手指、語音指令或其他輔助技術激活它。一旦激活,它就會執行一個可編程的操作,如提交表單或打開對話框。

按鈕元素接受的一長串屬性:

  • autofocus 自動對焦
  • autocomplete 自動完成
  • disabled 禁用
  • form 組成
  • formaction 行動
  • formenctype 表單類型
  • formmethod 方法
  • formnovalidate
  • formtarget 表單目標
  • name 名字
  • type
  • value

這是一個很大的功能。該列表還說明了為什么混合匹配 <a> 和 <button> 元素不是一個好主意。僅僅將 role="button" 應用于 <a> 元素還不足以使錨元素與按鈕元素的本地實現相匹配。事實上,如果不使用輔助技術,僅僅更改 role 并不能改變元素的外觀或行為。

button ARIA 角色

WAI-ARIA 1.2 規范指出, button 的作用是:

點擊或按下時允許用戶觸發操作的輸入。按鈕主要用于不連續的操作。將按鈕的外觀標準化,可增強用戶將部件識別為按鈕的能力。

這就是說,按鈕通常一次只用于執行一個動作。它還指出,用戶可以從按鈕的標準化外觀中獲益,從而識別出按鈕是一種交互式元素。

button 角色支持一種 ARIA 狀態,而 link 角色不支持這種狀態。這個狀態就是 aria-pressed 。它傳達了切換按鈕的 "按下"狀態。這并不是 <a> 元素的特質。這是另一個例子,說明按鈕和鏈接之間的差別有多大。

Button WAI-ARIA小工具

ARIA 創作實踐指南 (APG) 是學習無障礙語義和鍵盤界面的有用資源。它有幾個常用小工具的示例。它還包括有關常見做法的資源。

其中一個部件示例是按鈕部件。在定義了該 widget 并命名了另外兩種支持的按鈕類型(切換和菜單)后,它指出了區分鏈接和按鈕的重要性:

按鈕執行的操作類型與鏈接的功能截然不同。重要的是,窗口小部件的外觀和作用必須與其提供的功能相匹配。

它還指出,有時鏈接具有按鈕的視覺風格,但它說還有一個更好的解決方案:調整設計。

然而,元素有時具有鏈接的視覺樣式,但執行按鈕的動作。在這種情況下,為元素賦予按鈕角色有助于輔助技術用戶理解元素的功能。但更好的解決方案是調整視覺設計,使其與功能和 ARIA 角色相匹配。

比較鏈接和按鈕

現在,我們應該對鏈接和按鈕的不同之處有了一定的了解。下面再列舉幾個不同之處的例子:

  • 按鈕和鏈接的鼠標指針是不同的, <a> 元素懸停時的鼠標光標是 pointer 。而對于 <button> 元素,則是默認/自動光標
  • 即使本地 <button> 的角色是 link ,也始終可以通過鍵盤訪問。本地 <a> 只有在定義了 href 屬性的情況下才能通過鍵盤訪問,即使其角色為 button 也是如此。這意味著,如果您決定不將本地元素用于其預期目的,還需要做額外的工作來使鍵盤界面正常工作。
  • 用戶代理和輔助技術可提供包含不同類型元素的導航列表。Mac 上的 VoiceOver 旋轉器就是一個例子。按鈕列在 "表單控件 "下,鏈接列在 "鏈接 "下。如果一個元素的編碼方式無法被輔助技術識別,那么用戶就無法正常瀏覽頁面。這并不是屏幕閱讀器的失敗。本地元素已經兼容,所以請使用它們!
  • 用戶代理和輔助技術還提供了與不同類型元素交互的命令和手勢。不使用本地元素會干擾這些功能,導致用戶感到困惑和沮喪。這并不是屏幕閱讀器的失敗。本地元素已經兼容,所以請使用它們!

還有多少用戶代理或輔助技術功能被編碼不良的元素破壞?我不知道。你想測試每一個元素并找出答案嗎?我很懷疑。使用本地 HTML 元素即可!

請記住使用 ARIA 的第一條規則:

如果可以使用已內置所需語義和行為的本地 HTML 元素或屬性,而不是重新利用一個元素并添加 ARIA 角色、狀態或屬性使其可訪問,那么就這樣做吧。

不要忘記使用 ARIA 的第二條規則:

除非確有必要,否則不要改變本地語義。

為什么按鈕和鏈接的樣式不同

有四項無障礙原則指導我們必須如何構建網絡和內容。可以用縮寫詞 POUR 來記住它們:信息和界面必須是可感知的、可操作的、可理解的和穩健的。

按鈕和鏈接的外觀與無障礙環境的四項原則有什么關系呢

  • 在用戶操作界面之前,他們必須能夠感知界面中哪些元素是交互式的。
  • 為了讓用戶在操作界面之前做出明智的決定,界面必須易于理解。
  • 為了讓用戶能在多種條件和環境下操作界面,界面必須堅固耐用。

那么答案是什么呢?

當你需要連接兩個資源,且元素被激活時需要發生以下情況之一時,請使用錨元素:

  • 下載鏈接資源
  • 將瀏覽器焦點移至頁面的其他部分、
  • 將瀏覽器定位到另一個頁面

當需要讓用戶執行可編程操作(如提交表單或打開對話框)時,可使用按鈕元素。

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2021-05-21 14:26:18

ObjectMap前端

2020-12-29 09:23:14

Windows 10Windows微軟

2021-09-02 07:04:38

JWT簽名算法

2018-10-16 09:55:24

Linux發行版內核

2022-03-15 10:10:41

IT技能人力資源IT領導者

2020-08-10 11:20:59

索引MySQL數據庫

2015-08-19 10:13:53

DaasVDI

2014-12-05 09:49:18

2019-07-05 15:45:39

UbuntuFedoraLinux

2020-11-03 10:04:53

.proto文件代碼

2020-03-24 07:40:00

RabbitMQKafka架構師

2023-11-02 08:27:29

2020-12-17 10:17:12

編程開發計算機

2017-09-19 08:29:51

SSD壽命驅動器

2014-11-13 09:21:23

TCP

2021-11-02 08:40:42

VS CodeAtom開源

2012-06-28 13:37:14

2013-09-02 11:35:52

Windows 8.1開始按鈕

2020-11-30 15:22:40

開發軟件初創公司

2020-09-15 12:59:48

KotlinFlutter移動
點贊
收藏

51CTO技術棧公眾號

国产ts在线观看| 国产精品12p| 欧美日韩乱国产| 成人在线免费观看91| 91麻豆精品91久久久久同性| 日本男女交配视频| 欧美日韩国产综合视频| 六月丁香婷婷色狠狠久久| 欧美成人黑人xx视频免费观看| 欧美一级片黄色| 日本成人在线网站| 亚洲成av人影院在线观看网| 日韩中文不卡| 老熟妇高潮一区二区高清视频| 久久久久久一区二区| 超在线视频97| 天堂久久精品忘忧草| 五月亚洲婷婷| 欧美午夜电影网| 国产在线视频在线| 91精彩视频在线观看| 99r国产精品| 69174成人网| 久久精品五月天| 欧美激情精品久久久六区热门| 国产一区二区免费| 伊人网综合视频| 国产视频一区二| 欧美影视一区在线| 免费毛片小视频| 羞羞的视频在线观看| 国产精品天天看| 欧美日韩一区在线播放| 亚洲精品久久久久久久久久 | 97在线视频免费| 国产免费一区二区三区四区| 国产一区二区三区四区| 亚洲精美色品网站| 精品人妻二区中文字幕| www.久久爱.com| 欧美日韩免费视频| 成人在线看视频| 丝袜诱惑一区二区| 午夜精品在线视频一区| 国产乱人伦精品一区二区三区| 色大18成网站www在线观看| 久久久久国产精品人| 久久久久欧美| 天天av综合网| 99久久亚洲一区二区三区青草| 国产传媒一区二区三区| 99久久夜色精品国产亚洲| 精品一区免费av| 91精品国产自产在线老师啪 | 国产精品视频一区二区三| 成人在线免费视频观看| 中文字幕日韩精品有码视频| 国产熟女一区二区| 国产一区二区在线| 国产一区二区三区视频在线观看| 国产精品高清无码在线观看| 香蕉久久夜色精品国产更新时间| 亚洲美女精品久久| www.狠狠爱| 国产欧美一区| 自拍偷拍亚洲欧美| 国产精品suv一区二区88| 亚洲国产精品久久久久蝴蝶传媒| 久久综合伊人77777蜜臀| 成人涩涩小片视频日本| 亚洲乱码免费伦视频| 欧美另类极品videosbestfree| 日韩欧美中文字幕视频| 亚洲天堂偷拍| 欧美一区二区三区四区在线| 无码人妻久久一区二区三区不卡| 日韩成人伦理电影在线观看| 国产在线精品播放| 精品人妻少妇嫩草av无码专区| 国产成人综合网| 久久久久se| 第一页在线观看| 亚洲人成小说网站色在线| www.成年人视频| 中文在线а√在线8| 精品视频123区在线观看| 特黄特黄一级片| 色婷婷狠狠五月综合天色拍| 在线观看精品国产视频| 激情视频在线播放| 久久蜜桃资源一区二区老牛| 成人日韩av在线| 欧美熟女一区二区| 国产精品乱人伦中文| 91午夜在线观看| 亚洲一区二区三区四区| 欧美一级生活片| 成年人的黄色片| 欧美日韩水蜜桃| 欧美激情三级免费| 欧美一级淫片免费视频黄| 经典一区二区三区| 久久精品国产综合精品| 毛片网站在线免费观看| 一区二区三区成人在线视频| 四虎永久在线精品无码视频| 久久久久毛片免费观看| 亚洲片在线资源| 免费在线看黄网址| 日韩高清不卡在线| 国产精品久久亚洲| 黄色网页在线播放| 欧美亚洲免费在线一区| 国产精品无码电影| 欧美~级网站不卡| 国产精品户外野外| 欧美 日韩 人妻 高清 中文| 亚洲人xxxx| 国产精品igao| 欧美男人操女人视频| www.亚洲一区| 91久久国产综合久久91| 成人高清在线视频| www.-级毛片线天内射视视| 国产成人精品一区二三区在线观看 | 91亚洲国产成人精品一区二区三| 国产成年人在线观看| 日韩高清在线| 亚洲男子天堂网| 精品在线播放视频| 国产成人综合亚洲网站| 一区二区三区在线视频看| se01亚洲视频| 亚洲欧美日韩中文在线| 91在线看视频| 国产成人精品亚洲日本在线桃色| 自拍偷拍99| 日本一道高清亚洲日美韩| 亚洲欧洲中文天堂| 少妇高潮av久久久久久| 99久精品国产| 国产精品无码人妻一区二区在线| 精品亚洲二区| 久久亚洲精品一区| 国产精品毛片一区视频播 | 美女18一级毛片一品久道久久综合| 精品日韩在线一区| 九九视频免费看| 国产东北露脸精品视频| 伊人再见免费在线观看高清版 | 国产二区一区| 欧美色图天堂| 欧美岛国在线观看| 欧美精品久久久久性色| 国产精品夜夜嗨| 2018中文字幕第一页| 国产精品网站在线看| 欧美精品久久久久久久免费观看| 亚洲成人第一区| 亚洲国产wwwccc36天堂| 欧亚乱熟女一区二区在线| 99精品欧美| 欧美久久久久久一卡四| 肉色欧美久久久久久久免费看| 国产亚洲视频在线| 在线观看毛片视频| 一区二区三区四区乱视频| 精品国产aⅴ一区二区三区东京热| 狠狠久久婷婷| 精品综合在线| 青青热久免费精品视频在线18| 国产亚洲人成网站在线观看| 国产麻豆免费视频| 亚洲一二三专区| 国产精品无码午夜福利| 美国欧美日韩国产在线播放| 99热都是精品| 欧美毛片免费观看| 国产精品三级网站| 91一区二区三区在线| 欧美精品一区二区三区在线| 中文字幕高清在线免费播放| 国产精品久久久久久久久图文区| 国产在线视频三区| 国产九九精品| 日本福利视频导航| 久久久久久久久久久久久久久久久久久久| 91国内免费在线视频| aaa日本高清在线播放免费观看| 欧美一级搡bbbb搡bbbb| 男人天堂av在线播放| 亚洲视频网在线直播| 青青草成人免费视频| 麻豆视频一区二区| 成年人午夜视频在线观看| 欧美在线电影| 国产精品久久7| 国产美女久久| 97视频com| 免费大片黄在线观看视频网站| 亚洲国产日韩一区| 国产麻豆91视频| 色噜噜狠狠成人中文综合| 国产1区2区3区4区| 国产日产欧产精品推荐色| 风韵丰满熟妇啪啪区老熟熟女| 免费视频一区二区| 缅甸午夜性猛交xxxx| 视频在线不卡免费观看| 久久精品ww人人做人人爽| 免费一级欧美片在线观看网站| 日本国产欧美一区二区三区| 日本高清在线观看| 最近2019中文字幕mv免费看| 亚洲欧美色视频| 日韩欧美国产三级电影视频| 伊人免费在线观看高清版| 欧美日韩黄色大片| 久久高清无码视频| 中文字幕高清不卡| 免费看黄色的视频| 91网站在线播放| 一级黄色大片免费看| 精品一区二区三区在线播放视频 | 国产成人在线视频网站| 爱情岛论坛成人| 亚洲综合日韩| 国产精品后入内射日本在线观看| 欧美日韩99| 日本久久高清视频| 99免费精品| 亚洲一区二区四区| 精品一区二区三区在线 | 国产精品久久久久影院日本| 国产日韩电影| 热99久久精品| 天堂8中文在线最新版在线| 欧美激情女人20p| 丰满诱人av在线播放| 九九九热精品免费视频观看网站| 日本中文字幕在线2020| 少妇高潮久久77777| av女优在线| 中文字幕av一区中文字幕天堂| 黄色av网站在线免费观看| 亚洲欧美一区二区三区在线 | 波霸ol色综合久久| 欧美成人性生活视频| 日韩在线观看网址| h片在线播放| 欧美精品制服第一页| 超碰在线免费公开| 九九久久精品一区| 免费在线看污片| 91黄色8090| 周于希免费高清在线观看| 欧洲成人性视频| 韩国女主播一区二区| 国产剧情久久久久久| 国产成人免费av一区二区午夜| 成人精品一区二区三区电影免费| 亚洲一区二区小说| 3d动漫啪啪精品一区二区免费| 日韩精品三级| 国产青春久久久国产毛片| 狼人精品一区二区三区在线 | 国产精品视频不卡| 日韩免费在线电影| 不卡一区二区三区四区五区| 国内精品免费| 日韩av电影在线观看| 久久亚洲精品中文字幕蜜潮电影| 男插女免费视频| 欧美视频在线观看| 逼特逼视频在线| 久久精品久久精品| 美女露出粉嫩尿囗让男人桶| 91老师片黄在线观看| 久久久精品少妇| 亚洲国产精品久久不卡毛片| 无码人妻久久一区二区三区| 91精品久久久久久久91蜜桃| 天天射天天色天天干| 国产亚洲欧美另类中文| 午夜av在线播放| 国产69久久精品成人| 图片一区二区| 久久精品国产精品青草色艺 | 国产精品久久久久久久久久久久久久久久久久 | 国产毛片av在线| 欧美日本在线视频中文字字幕| 在线免费三级电影网站| 欧美视频三区在线播放| 手机在线看福利| 久久丁香综合五月国产三级网站| 三大队在线观看| 国产偷国产偷亚洲高清人白洁| 极品久久久久久| 在线免费观看成人短视频| 亚洲国产中文字幕在线| 伊人久久综合97精品| 日本电影在线观看| 国产精品夜间视频香蕉| 大香伊人久久精品一区二区 | 91精品精品| 国产91对白刺激露脸在线观看| 国内成人精品2018免费看| 国产三级视频网站| 一区二区激情视频| 亚洲在线精品视频| 精品无人区太爽高潮在线播放| 动漫一区在线| 国产精品精品一区二区三区午夜版 | 国产成人无码精品久久二区三| 夜色激情一区二区| 亚洲专区在线播放| 亚洲欧美日韩天堂一区二区| 国产偷倩在线播放| 91亚洲人电影| 精品国产视频| 国产综合免费视频| 不卡一区二区在线| 国产高潮国产高潮久久久91 | 亚洲男女一区二区三区| 国产一区二区视频免费| 亚洲精品福利视频| 俺来俺也去www色在线观看| 91在线网站视频| 欧美大片aaaa| 久久久久久久久久久久91| 91麻豆国产自产在线观看| 国产 欧美 日韩 在线| 亚洲国产精品成人一区二区| 黑人极品ⅴideos精品欧美棵| 亚洲一区二区免费| 欧美福利视频| 性一交一黄一片| 亚洲综合激情网| www.五月激情| 久久久免费av| 高清日韩中文字幕| 久草视频国产在线| 成人一区二区视频| 国产精品不卡av| 亚洲第一综合天堂另类专| 超免费在线视频| 国产精品初高中精品久久| 黑人一区二区| 熟妇高潮一区二区| 午夜电影一区二区三区| 亚洲欧美一区二区三| 欧美自拍视频在线| 国产99亚洲| 在线免费观看av的网站| 最新久久zyz资源站| 国产美女精品视频国产| 欧美肥婆姓交大片| 国产乱人伦精品一区| 国产h视频在线播放| 久久婷婷色综合| 中文字幕理论片| 久久精品最新地址| 高清不卡一区| 日韩国产一级片| 久久久国产午夜精品| 在线观看国产小视频| 欧美日韩成人在线观看| 国产精品毛片视频| 成人黄色片视频| 欧美国产成人精品| 国产女人18毛片水18精| 久久久久中文字幕| 免费看成人哺乳视频网站| 鲁一鲁一鲁一鲁一av| 亚洲精品ww久久久久久p站| 手机看片一区二区| 国产成人精品av在线| 99精品电影| 伊人久久一区二区三区| 色一区在线观看| 成人看av片| 久久国产精品亚洲va麻豆| 蜜臀久久久99精品久久久久久| 亚洲二区在线播放| 亚洲激情在线观看| 欧美成人福利| 成人免费毛片在线观看| 欧美激情综合在线| 亚洲av无码乱码国产麻豆| 日韩免费观看视频| 在线观看免费一区二区| 美女久久久久久久久久| 51久久夜色精品国产麻豆| 男人av在线播放| 在线观看日韩羞羞视频| 91在线国产福利| 国产精品自拍电影| 欧美在线视频在线播放完整版免费观看| 成人在线免费视频观看| 久久人妻一区二区|