精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品一区二区三区在线 | 国产成人拍精品视频午夜网站 | 成人一级片在线观看| 久久久午夜视频| 日韩av在线看免费观看| 日韩在线激情| 一区二区在线观看av| 久久久久久久久久码影片| a级片在线观看免费| 日韩欧美美女在线观看| 欧美巨大另类极品videosbest | 在线观看亚洲免费视频| av毛片在线免费看| 久久综合九色综合欧美98| 韩国国内大量揄拍精品视频| bl动漫在线观看| 欧美极品在线| 日韩欧美亚洲一二三区| 日本道在线视频| 精彩国产在线| 91亚洲男人天堂| 国产91|九色| 波多野结衣有码| 日韩综合一区二区三区| 欧美性大战久久久久久久| 欧美深夜福利视频| 在线你懂的视频| 国产精品成人一区二区艾草 | 亚洲天天综合网| 亚洲成人资源| 九九热这里只有精品6| 久久久男人的天堂| av日韩久久| 欧美色综合影院| 虎白女粉嫩尤物福利视频| 蜜臀av在线| 亚洲美女偷拍久久| 中文字幕中文字幕一区三区| 国产在线观看高清视频| 久久婷婷色综合| 久久精品美女| 97在线视频人妻无码| 日本成人在线视频网站| 国产成人一区二| 国产成人精品777777| 亚洲在线播放| 456国产精品| 国产微拍精品一区| 亚洲制服av| 日本精品视频网站| 黄色av一级片| 三级一区在线视频先锋 | 精品自拍一区| 一色桃子久久精品亚洲| 致1999电视剧免费观看策驰影院| 精品国产18久久久久久| 久久久精品五月天| 日韩免费观看高清| 男人天堂视频网| 奇米色777欧美一区二区| 国产精品久久久精品| 免费一级特黄特色大片| 在线看片日韩| 欧美在线视频一二三| 无码人妻丰满熟妇区五十路| 日韩影院免费视频| 久久久久久亚洲精品中文字幕| 东方伊人免费在线观看| 水蜜桃精品av一区二区| 久久精品国产免费观看| 免费一级全黄少妇性色生活片| 国产中文精品久高清在线不| 精品国产123| 在线观看国产网站| 国际精品欧美精品| 久久国产精品久久久久| 日韩三级一区二区三区| 爽好久久久欧美精品| 91日本在线视频| 十八禁一区二区三区| 国产午夜精品理论片a级大结局| 99视频免费观看蜜桃视频| 黄色一级大片在线免费看国产一 | 午夜精品视频一区| 亚洲日本欧美在线| 免费在线国产视频| 欧美性猛交xxxx免费看| 黄色小视频免费网站| jizz性欧美2| 夜夜躁日日躁狠狠久久88av| 人妻大战黑人白浆狂泄| 日韩欧美字幕| 久久久久久亚洲精品| 久久精品偷拍视频| 国产成人av网站| 欧洲亚洲一区| 在线三级中文| 在线观看国产91| 久久久久国产免费| 97精品国产| 欧美一级视频免费在线观看| 国产精品久久久久久免费免熟 | 中文字幕国产免费| 成人av地址| 久久精品国产96久久久香蕉| 日韩一区二区三区四区在线| 亚洲在线电影| 粉嫩av一区二区三区免费观看| 成人毛片在线精品国产| 欧美激情中文字幕| 每日在线更新av| 视频一区国产| 久久亚洲精品视频| 国产男人搡女人免费视频| heyzo一本久久综合| 亚洲成年人专区| 亚洲成人人体| 亚洲精品国产拍免费91在线| 国产免费久久久久| 欧美aaaaa成人免费观看视频| 国产一区二区丝袜| 成 人 免费 黄 色| 成人免费一区二区三区在线观看| 男人的天堂成人| 国产成人精品一区二区三区免费| 欧美久久久久久久久中文字幕| 中文字幕第22页| 欧美先锋资源| 国产91精品网站| av女名字大全列表| 国产精品私人自拍| 玩弄japan白嫩少妇hd| 色综合视频一区二区三区日韩| 在线播放日韩导航| 欧美成人黄色网址| 欧美美女在线| 青青草99啪国产免费| 天堂网在线中文| 亚洲h动漫在线| 久久性爱视频网站| 国产精品www994| 91九色视频在线观看| 99在线视频观看| 欧美一级欧美三级在线观看| 新91视频在线观看| 久久福利影视| 少妇精品久久久久久久久久| 亚洲综合在线电影| 一本色道久久综合狠狠躁篇怎么玩 | 久久女同互慰一区二区三区| 久久国产成人精品国产成人亚洲| 精品美女一区| 久久亚洲综合国产精品99麻豆精品福利| 国产一级二级三级视频| 国产精品亚洲午夜一区二区三区| 欧美精品一区在线发布| 蜜桃精品在线| 日韩视频第一页| 精品人妻一区二区三区四区不卡 | 超碰人人干人人| 亚洲精选一区| 欧美成ee人免费视频| 影音成人av| 久久久国产在线视频| www.日韩高清| 五月激情综合色| 日本r级电影在线观看| 欧美日本在线| 久精品国产欧美| 成人午夜sm精品久久久久久久| 亚洲第一区在线观看| 精品在线观看一区| 国产不卡在线播放| 精品视频一区二区在线| 99精品电影| 国产日韩欧美电影在线观看| 成人在线直播| 日韩电影免费在线观看中文字幕 | 成人高h视频在线| 大片免费在线观看| 91.com在线观看| 亚洲精品在线观看av| 久久久www成人免费无遮挡大片| 妞干网在线视频观看| 国产欧美一区二区三区精品观看| 26uuu日韩精品一区二区| 人妻精品无码一区二区| 亚洲综合在线免费观看| 污污视频在线免费| 综合久久亚洲| 日本不卡免费新一二三区| 亚洲人成777| 欧洲日韩成人av| 黄色av电影在线观看| 日韩精品视频在线播放| 国产精品九九九九| 色综合中文字幕国产| 久久久久99精品成人片试看| 久久久综合精品| 亚洲精品中文字幕无码蜜桃| 最新精品国产| 日韩av不卡在线播放| 操欧美女人视频| 91久久在线播放| 偷拍精品精品一区二区三区| 欧美精品生活片| 成人免费一区二区三区视频网站| 欧美三日本三级三级在线播放| 成年人网站在线观看视频| 26uuu亚洲综合色欧美| 亚欧精品在线视频| 美女任你摸久久| 久久无码高潮喷水| 狠狠久久婷婷| 日韩精品福利片午夜免费观看| 盗摄牛牛av影视一区二区| 久久久久久国产| 国产激情视频在线| 日韩在线视频免费观看| 久久久久久久久亚洲精品| 精品91自产拍在线观看一区| 91精品中文字幕| 欧美这里有精品| 五月天婷婷激情| 舔着乳尖日韩一区| 久久久久久久伊人| 亚洲图片欧美色图| 久久网中文字幕| 一区二区三区四区视频精品免费 | 亚洲天堂一二三| 亚洲精品videosex极品| 在线观看av中文字幕| 国产成人午夜精品影院观看视频| 日韩中文字幕三区| 亚洲精品系列| 欧美精品一区二区三区三州| 国产一区二区三区四区三区四| 美国av一区二区三区| 好吊妞国产欧美日韩免费观看网站| 国产v综合ⅴ日韩v欧美大片| 亚洲精品mv| 日本三级韩国三级久久| 裤袜国产欧美精品一区| 日本aⅴ大伊香蕉精品视频| 天堂8中文在线最新版在线| 91国语精品自产拍在线观看性色 | 欧美成人免费小视频| 黄色动漫在线观看| 欧美成人黄色小视频| 在线中文字幕视频观看| 欧美高清视频免费观看| freexxx性亚洲精品| 色偷偷88888欧美精品久久久| 手机av免费在线观看| 亚洲电影免费观看高清完整版在线 | 国产视频第一区| 亚洲最大在线视频| 无码精品在线观看| 亚洲欧洲在线观看| www免费网站在线观看| 日韩天堂在线视频| 日本在线视频中文有码| 97在线视频免费| 日本高清不卡一区二区三区视频 | 三级黄色免费观看| 亚洲美女视频一区| 亚洲国产精品午夜在线观看| 欧美午夜激情在线| 国产午夜激情视频| 日韩欧美精品网站| 国产永久免费视频| 精品国产1区二区| 国产小视频福利在线| 精品国模在线视频| 91色在线看| 色在人av网站天堂精品| 9999精品成人免费毛片在线看| 久久影视免费观看| 福利在线导航136| 国产91九色视频| 日韩一区二区三区精品| 鲁丝一区鲁丝二区鲁丝三区| 不卡在线一区| 人人妻人人澡人人爽欧美一区双| 91九色精品| 国产一区二区网| 亚洲影音先锋| 一级黄色高清视频| 久久久欧美精品sm网站| 东方av正在进入| 欧美视频国产精品| 国产福利资源在线| 亚洲天堂网在线观看| 日本在线观看大片免费视频| 国产精品69久久久久| 综合欧美亚洲| 一区二区欧美日韩| 香蕉精品999视频一区二区| 欧美日韩理论片| 久久久久久久电影| 久久网免费视频| 欧美丰满少妇xxxbbb| 欧美香蕉爽爽人人爽| 欧美人在线观看| 久久三级毛片| 日韩福利在线| 中文精品视频| 女人扒开腿免费视频app| 成人午夜大片免费观看| 香蕉久久久久久久| 狠狠干狠狠久久| 蜜桃91麻豆精品一二三区| 日韩天堂在线视频| 不卡亚洲精品| 欧美日韩大片一区二区三区| 精久久久久久| 人妻精品久久久久中文字幕69| 成人在线视频首页| 免费在线观看h片| 欧美午夜精品电影| www.成人免费视频| 久久精品人人爽| 草民电影神马电影一区二区| 精品视频一区在线| 亚洲国产日韩在线| 美女露出粉嫩尿囗让男人桶| 亚洲人妖av一区二区| 日本免费一二三区| 欧美第一区第二区| 五月婷婷视频在线观看| 91免费欧美精品| 91精品天堂福利在线观看 | av大片在线播放| 日本精品免费观看| 久久99视频| 97免费视频观看| 国产剧情一区二区三区| 免费看特级毛片| 欧美一区三区二区| a免费在线观看| 国产成人福利网站| 深爱激情久久| 成年人在线观看视频免费| 国产成人自拍网| 久久久精品视频在线| 欧美中文字幕一二三区视频| 精品三级久久久久久久电影聊斋| 久久九九精品99国产精品| 六九午夜精品视频| 一本一道久久a久久综合精品| 亚洲精品社区| 亚洲欧美另类动漫| 国产精品久久久久影院亚瑟 | 第一福利永久视频精品| 天堂在线视频免费| 欧美一级免费视频| 精品久久一区| 亚洲图色中文字幕| 亚洲综合在线视频| 日本一区高清| 国产精品无av码在线观看| 亚洲自拍偷拍网| 免费看毛片的网站| 日本高清免费不卡视频| 在线观看精品一区二区三区| 成人在线一区二区| 韩国自拍一区| 国产精品成人一区二区三区电影毛片| 一区二区三区在线观看欧美| 在线观看不卡的av| 亚洲一区二区国产| 视频欧美精品| www.国产在线视频| 国产欧美精品国产国产专区| 天天综合网入口| 色av吧综合网| 99tv成人影院| 黄网站欧美内射| 日本一区二区免费在线观看视频 | 精品国产伦一区二区三区观看方式| 日本在线人成| 国产精品欧美久久久| 欧美~级网站不卡| 九色porny自拍视频| 91精品麻豆日日躁夜夜躁| 免费a级在线播放| 国产视频精品网| 久久精品久久99精品久久| 国产大片中文字幕| 亚洲大胆人体在线| 69堂精品视频在线播放| 欧美在线观看视频免费| 国产亚洲欧美日韩在线一区| 国产成人精品av在线观| 欧美丰满少妇xxxxx| 成人激情在线| 亚洲制服丝袜在线播放| 这里是久久伊人| 偷拍视频一区二区三区| 色一情一乱一伦一区二区三区|