全局屬性
HTML規(guī)范中規(guī)定的全局屬性:幾乎所有的元素都可以擁有這些屬性缀辩。
(1)accesskey
(2)class
(3)contenteditable
(4)dir
(5)title
(6)hidden
(7)id
(8)itemid
(9)itemprop
(10)itemref
(11)itemscope
(12)itemtype
(13)lang
(14)spellcheck
(15)style
(16)tabindex
(17)title
(1)accesskey && (16)tabindex
這是有關(guān)鍵盤的操作屬性鞋拟。
accesskey是指定元素缩宜,當(dāng)用戶按下 ctrl +alt+ key 的時候,相等于點擊這個元素【如何知道是指定哪個元素呢? 瀏覽器插件可以提示,也有瀏覽器插件會自動給所有元素分配key】
tabindex:通過tab鍵在頁面上導(dǎo)航。指定的值是導(dǎo)航的順序尿背。
(2)class &&(7)id && (15)style
1、id保證唯一性
2捶惜、class多用在css
3田藐、style指定內(nèi)聯(lián)樣式
(3)contenteditable
使得頁面的文本可以被修改。
(4)dir
語言書寫的方向吱七。
<p dir="rtl">【阿拉伯語就是從右到左的順序】
(6)hidden
HTML5新增屬性 hidden
<p hidden> hidden </p>
之前都是用css來隱藏元素汽久。 隱藏元素其實是適用在某個場景下,用戶動作之后把這個元素顯示出來踊餐。
這個元素有js接口的景醇。實際上是優(yōu)化了css中display的操作,用js的hidden的布爾型來控制元素是否顯示吝岭。
(13)lang
指定頁面語言(多語言網(wǎng)站需要注意)
(14)spellcheck
拼寫檢查
(17)title
把縮寫的解釋寫在title中三痰,用戶把鼠標(biāo)放上去就可以看到完整的文字吧寺。【但是原生title的使用感不好散劫,有一定的延遲稚机,一般都是自己去做】
無障礙性 Accessibility
或可訪問性,Accessibility获搏。確保任何人都有辦法獲取放在網(wǎng)頁上的媒體內(nèi)容赖条,不讓身體、心理或者技術(shù)上的問題成為獲取信息的障礙颜凯。
web開發(fā)者應(yīng)該做的事情
(1)WCAG(Web Content Accessibility Guidelines)2.0
(2)ARIA(Accessible Rich Internet Applications)
ARIA: 加上一些role屬性來說明谋币,或者是用hidden這樣的屬性增加可用性仗扬。
提升無障礙性
(1)為img提供alt屬性
(2)noscript
(3)input和label對應(yīng)
(4)圖形驗證碼與語音驗證碼
(5)文字和背景有足夠?qū)Ρ榷?br>
(6)鍵盤可操作
noscript(小技巧):一些瀏覽器不支持jsp時(腳本被禁用)症概,需要一些替代方案。
語義化
HTML中的元素早芭、屬性及屬性值都擁有某些含義彼城。開發(fā)者應(yīng)該遵循語義來編寫HTML。
為什么語義化很重要退个?
- 提升代碼可讀性募壕、可維護(hù)性
- 搜索引擎優(yōu)化
- 提升無障礙性
搜索引擎優(yōu)化 :一個itemscope表示一個實體。把一段普通的文字格式化语盈,對搜索引擎很有用舱馅。可以做一個更好的展示刀荒,可以聚合信息代嗤,關(guān)聯(lián)信息等等等。
擴(kuò)展
- meta
- data-*
- microdata
- RDFa
- JSON-LD
microdata :HTML5中的一個規(guī)范缠借,在HTML中通過屬性嵌入格式化數(shù)據(jù)干毅,提供給搜索引擎、瀏覽器使用泼返。
HTML編碼規(guī)范
- Google Coding Style
- W3C Validator
推薦使用工具:
- emmet (插件硝逢,更方便書寫)
- markdown(以簡潔的格式表示html。文本相關(guān)的東西绅喉∏耄【可以用來做ppt】github上提交的markdown可以自動按照格式展示出來。)