成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這樣去寫你的HTML

開發 開發工具
HTML5 是下一代 Web 語言,它不單單是一種標記語言,更為下一代 Web 提供了全新功能,并將引領下一代 Web 實現類似桌面的應用體驗。一起來看本文。

昨天在 twitter 上說,怎么忍心把頁面寫得這么難用?是的,這個世界還有一群人等著我們創建出來的東西,可以讓他們的生活能過得更容易呢。比如那些需要讀屏軟件的用戶。作為一個前端,我們又怎么會忍心呢。之前就一直想寫這樣的一篇文章,分享一下如何去創造一個可訪問性更好的頁面。今天的計劃里有一條把 HTML Tag 和 WCAG標準結合起來。我推薦你這樣去寫你的 HTML,讓某些人的生活可以更容易。

今天想分享的是如何去使用我們的 HTML Tag, 把 WCAG 的標準和語義網的目標進行代碼上的體現:

1. 文檔聲明:<!Doctype>

其實這跟 WCAG 根本上連不上什么直接關系,但為了一個兼容性更好,特別是向后兼容的頁面,我推薦你這樣寫:

  1. <!Doctype html> 

2. 鏈接:<a>

互聯網的聯幾乎可以說是用 <a> 來實現的,作為一個頁面最常見的標簽。我們應該如何對待呢?

(1)為關鍵鏈接添加 accesskey

(2)除非萬不得已,不要去掉 focus 時虛線框

  1. <a href="" title="" accesskey="M" rel="" hidefocus>Link</a> 

3. 縮寫: <abbr>

對于用 HTML Tag 的正確使用,也是非常重要的,這有利于讀屏軟件使用者對于頁面結構的理解。特別是在 H1,H2,H3 等這些標簽的使用,濫用非常容易造成結構費解。當然,使用一般的標簽,再利用 CSS 來使視覺上形成對比這也是常人能辨識的。但讀屏軟件用戶呢。當然,這里只是順帶提起需要注意頁面標簽的使用方法,而 abbr 最重要的應該是應該添加一個 title 屬性對縮寫進行描述。比如:

  1. <abbr title="Web Developer" >WD</abbr> 

4. 大段引用: <blockquote>,一般引用: <cite>

有大段引用的時候,使用 <blockquote>,而行內引用則使用 <cite>,讓你的結構更加易讀:

  1. <blockquote> 
  2.     之前就一直想寫這樣的一篇文章,分享一下如何去創造一個可訪問性更好的頁面。今天的計劃里有一條把 HTML Tag 和 WCAG標準結合起來。我推薦你這樣去寫你的 HTML,讓某些人的生活可以更容易。  
  3. </blockquote> 
  4. <p>某A給我印象最深刻的一句話是,<cite>“做前端要有愛。不要動不動就有朩有地對各種人使用咆哮體”</cite></p> 

5. 刪除:<del>

在紙上寫東西不能像在計算機上寫東西一樣,可以用撤銷鍵可以按,但當我們想要強調某些東西是被刪除的怎么辦?那就是使用 <del> 標簽了。比如這樣:

  1. <del>HTML上表示強調時,請使用 &lt;b&gt; 標簽</del> 
  2. HTML上表示強調時,請使用 &lt;strong&gt; 標簽 

效果是這樣的:

HTML上表示強調時,請使用 <strong> 標簽

6. 定義列表:<dl>

去年帶著新人做支付寶前端博客的時候,他們給我印象最深刻的是很喜歡用 <dl>。當時在想,這些同學挺不錯的,對語義化的理解還不錯。我們還是比較少用到定義列表的。而是使用一般的 <ul> <ol> 這兩個。<dl> 也是應該慎用的,最好只使用在某些有“定義”意義的條目,如 w3school 的這個例子,對咖啡和牛奶的定義:

  1. <dl> 
  2.   <dt>Coffee</dt> 
  3.     <dd>- black hot drink</dd> 
  4.   <dt>Milk</dt> 
  5.     <dd>- white cold drink</dd> 
  6. </dl> 

7. 無序/有序列表 <ul>/<ol>

列表,這個對于每個前端來說,都熟悉不過了。因為結構可以非常靈活地進行應用,在導航、列表、Tab 等,都經常要要用到。這個就無須多說了。但有一點還是需要明白的,不要相信什么 <ul>/<ol> 是 <table> 的替代品。在我們常用的 HTML Tags 中,每個標簽都有自己的作用,誰都不是誰的替代品。

  1. <ol> 
  2.   <li>Coffee</li> 
  3.   <li>Tea</li> 
  4.   <li>Milk</li> 
  5. </ol> 

8. 表格: <table>

如果是一個表格,那就,就不要用段落來替代,更不要用列表。除非萬不得已,并且他們是可以轉換的。另外,表格中還有一些需要注意的點:

(1)給 <table> 添加 summary 屬性,有些表格非常大,并不需要去讀完整個

(2)添加 <tbody>,如果我沒記錯,如果沒添加的話,瀏覽器會自動為你添加

(3)必要時使用 <col> <colgroup> 來控制表示的欄

  1. <table summary="sofish's blog status"> 
  2.     <thead> 
  3.         <tr> 
  4.             <th>DATE</th> 
  5.             <th>IP</th> 
  6.             <th>PV</th> 
  7.         </tr> 
  8.     </thead> 
  9.     <tbody> 
  10.         <tr> 
  11.             <td>2011.3.11</td> 
  12.             <td>3000</td> 
  13.             <td>8000</td> 
  14.         </tr> 
  15.     </tbody> 
  16. </table> 

9. 格式化片段 <code>/<pre>

<code> 是指 computer code text, 而 <pre> 是指 preformatted text。<pre> 的范圍更廣,并且是塊狀元素,可能被使用來格式化各種文本,特別是代碼。使用沒有需要特別注意的,主要是語義上的正確使用,比如不要用 <pre> 來代替一般的 <p>。

  1. <code>text-align:center</code> 
  2. <pre> 
  3. { ( 1 * 102 ) + ( 9 * 101 ) + ( 3 * 100 ) }  
  4. </pre> 

10. 換行: <br>

在現代網頁中,使用 <br> 的情況是非常少的。網頁中的留白,一般都是使用 CSS 的 padding 和 margin 來實現。這樣更精準,并用更容易控制。現在推薦的用法是,使用到一般的段落 <p> 中做簡單的換行,而不是用來控制頁面留白。

  1. <p>我是一個段落。<br /> 
  2. 詩歌都會用換行的。  
  3. </p> 

11. 分割線: <hr>

<hr> 具有非常好的語義作用。但他的視覺效果很難控制。之前就寫過這樣的文章關于<hr />在各瀏覽器中的問題。一般也都很少用。如果專門為讀屏軟件使用者提供單獨頁面的話,或許 <hr> 會大有用處。

  1. <h3>標題一</h3> 
  2. <p>Lorem Ipsum is ...</p> 
  3. <hr /> 
  4. <h3>標題二</h3> 
  5. <p>This is the entry of... </p> 

12. 無語義標簽:<div>/<span>

其實 <div>/<span> 這兩個標簽是有語義的,都是 defines a section in a document。是的,和 HTML5 中的 <section> 其實是一樣的。只是,因為搜索引擎的的原因,搜索引擎認為它們是無語義標簽,因此他們成了 “無語義” 標簽。推薦用法是盡量使用其他來做為頁面框架的容器,比如布局、添加額外的視覺效果,而不是段落等的替代品。

  1. <div id="container"> 
  2.     <div id="content"> 
  3.     </div> 
  4.     <div id="sidebar"> 
  5.         <ul> 
  6.             <li><span>God</span>, oh my zsh</span></li> 
  7.         </ul> 
  8.     </div> 
  9. </div> 

13. 段落/標題: <p>,<h1>/<h2>/<h3>…

這幾個標簽幾乎可以說是一個頁面標簽等級結構中最重要的標簽。我們可以用一本書的結構來說明這幾個標簽,而我們構建一個頁面的時候,也應該有這樣的一種思想在腦中:

(1)書的名稱:H1

(2)書的每個章節標題: H2

(3)章節內的文章標題: H3

(4)章節的段落: P

(5)小標題/副標題: H4/H5/H6

是的,當然還有引用 <blockquoute>,技術類書中提供的代碼 <pre class="code">,一些需要注意點的列表 <ul>,一些方便比較的表格 <table> 等。

  1. <h1>LOGO</h1> 
  2. <h2>Title</h2> 
  3. <div class="entry"> 
  4.     <h3>Summary:</h3> 
  5.     <p>lorem ipsum is ...<em>emphasize</em></p> 
  6. </div> 

14. 強調: <em>/<strong>

<em> emphasize 的縮寫。而 <strong> 是 strong emphasize。可能很多剛入門前端的同學會對 <em>、<strong>、<cite> 、<i>、<b> 這幾個標簽的使用拿捏不準。<i> 和 <b> 基本上是被廢置的,相當于現在的 <em> 和 <strong>,一般情況下他們對于內容重要性的排序是這樣的:strong > em ≈ cite。 

<strong>注意:</strong>別使用老掉牙的標簽,比如<cite>FONT、CENTER</cite>等,特別是 <em>FONT</em>。

15. 表單項: <input>/<textarea>/<select>

表單項是 HTML 中相對比較復雜的標簽,需要注意的點也比較多:

(1)需要給每個表單項添加 <label> 對其進行描述,當不能使用 label 時,為表單項添加 title 屬性

(2)當表單項是必填項的時候,使用 “*“ 符號來標記

(3)Flash 創建表單項一般是不會生成 <label> 的,請勾上 auto label 那個選項

  1. <form method="post" action="http://sofish.de"> 
  2.     <fieldset><legend>My Form</legend> 
  3.       <label for="firstname">* First name:</label> <input type="text" id="firstname" /> 
  4.       <label for="speech">Say something:</label> 
  5.       <textarea id="speech" /> 
  6.       </textare> 
  7.       <input type="submit" value="submit" title="submit button" /> 
  8.     </fieldset> 
  9. </form> 

16. 圖片: <img>

對于圖片,盲人看不到。提供 alt 來表示替代文本。告訴他們這是一張什么樣的圖。

  1. <img src="http://sofish.de/favicon.ico" alt="幸福收藏夾的 favicon" /> 

17. 框架: <iframe>

盡量避免 <iframe>框架的使用,但當你需要使用的時候,最好提供一個 title 屬性對其進行描述。

  1. <iframe src="http://sofish.de" title="幸福收藏夾" /></iframe> 

18. 流媒體:<video>/<audio>/<object>/<embed>

媒體也是比較復雜的格式,處理起來比較麻煩。通常我們可以這樣做:

(1)為視聽媒體提供相應的文本,包括相應的場景,比如演講中的鼓掌等有利有閱讀者感知現在氣氛的,都應該體現在演講文本中。其他的依此類推。

(2)如果像交響樂這種不能提供具體描述的,可以進行簡單的說明

(3)如果文本較長,不能在當前頁面展示,可以在媒體后提供一個鏈接到相應替代文本的鏈接

(4)如果媒體中有可能會引起癲癇發作的,應做相應的說明

  1. <audio src="mozart.mp4">莫扎特39號交響曲</audio> 

19. 網頁標題:<title>

網頁中一定要包含標題,并且每個標簽應該具有辨識性。比如支付寶中是這樣體現的:

  1. <title>聯系我 -- 幸福收藏夾</title> 

20. 總結

好吧。就先寫到這里了。WCAG 并不只是這些簡單的 HTML Tags 的用法,語義化的網頁也不是一兩篇文章能夠寫完的。慢慢來吧。從最常見的做起,養成好的習慣。回到文章前面的那句話,難道你忍心把頁面寫得這么難用嗎?

【編輯推薦】

  1. 在IE中使用HTML5功能需要注意的幾點
  2. 瀏覽器對HTML5的兼容性分析
  3. 移動HTML5應用的前景
  4. Jeremy Keith談HTML5設計原則
責任編輯:于鐵 來源: 幸福收藏夾
相關推薦

2020-02-20 10:45:57

代碼JS開發

2015-03-30 09:26:24

JavaScriptHTML6

2022-04-11 08:20:36

編程輔助工具GitHubCopilot

2020-01-18 18:37:00

Java并行計算數據庫

2020-03-06 11:30:08

JavaGitHub編程

2022-05-09 08:37:43

IO模型Java

2011-08-29 16:57:53

2021-11-09 06:42:51

MySQLupdate語句

2023-01-04 11:35:21

預測模型預售

2022-02-23 18:36:11

釣魚郵件數據泄露網絡攻擊

2014-07-15 16:40:40

敏捷華為

2011-12-19 10:33:27

手機博客蝴蝶應用達人

2021-11-10 09:45:06

Lambda表達式語言

2018-03-09 11:08:31

2009-03-11 14:42:57

面試求職案例

2020-09-27 10:55:10

代碼Java字符串

2020-12-15 08:05:40

路由器服務器網絡層

2019-11-07 21:26:22

iOS 14蘋果谷歌

2016-03-28 10:11:37

2021-03-12 11:50:08

項目組件 API
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲在线中文字幕 | 欧美在线观看一区 | 亚洲一区亚洲二区 | 一级做a爰片性色毛片 | 精品视频免费 | 欧美精品在线视频 | 久久精品中文字幕 | 欧美日韩国产在线观看 | 欧美伊人 | 午夜视频网 | 综合九九 | 色婷婷综合久久久中字幕精品久久 | 男人的天堂中文字幕 | 玖玖免费 | 久久久蜜臀国产一区二区 | 欧美videosex性极品hd | 国产精品激情小视频 | 91爱啪啪 | 国产日产精品一区二区三区四区 | 国产精品一码二码三码在线 | 亚洲一区二区在线视频 | 老妇激情毛片免费 | 黑人久久久 | 中文在线a在线 | 国产福利资源在线 | 国产高清精品在线 | 免费午夜视频 | 欧洲精品一区 | 成年网站在线观看 | 日韩精品在线网站 | 免费看日韩视频 | 美女久久| 国产精品久久久久久久久久 | 天天操夜夜操免费视频 | 亚洲精品美女 | 国产精品一区二区三区四区 | 国产精品久久久久久久白浊 | 亚洲最大成人综合 | 日日操视频 | 国产91久久久久蜜臀青青天草二 | 天天欧美|