HTML5带来的小麻烦&HTML标签全局属性小探讨 [ 十一月 19th, 2011 ] Posted in » xhtml/css, 工作是美好的
这两天突然在某个技术QQ群里看到有人问关于chrome拼写检查的问题:大致就是输入一个单词以后,会有红色的波浪下划线。后来有人回答说是因为spellcheck属性默认被触发导致的,设置spellcheck=”false”就可以了。于是到w3school上搜了下spellcheck:
语法
<element spellcheck="value">属性值
值 描述 true 规定应当对元素的文本进行拼写检查。 false 规定不应对元素的文本进行拼写检查。
这让我突然想起了前几天帮后端开发解决的一个问题:某个比价单,在点了游览器后退,然后再次比价的时候,对比的项目和上次的是一样的。而且这个问题只有在最新版的firefox下有,ie都没有。当时我觉得很奇怪,于是让后端开发等一下。我按照自己的印象稍微搜了一下,没想到真的搜出答案了:autocomplete:
语法
<form autocomplete="on|off">属性值
值 描述 on 默认。规定启用自动完成功能。 off 规定禁用自动完成功能。
比价单的数据提交使用了input type=”hidden”,而ff默认开启了autocomplete这个属性。后来,我让他把form(这样就可以不用一个一个的设置input)的autocomplete设置为off就解决了。
话又说回来,从html4到html5,确实增加了不少全局属性:
- * accesskey: 规定访问元素的键盘快捷键
- * class:规定元素的类名(用于规定样式表中的类)。
- * (新增)contenteditable:规定是否允许用户编辑内容。
- * (新增)contextmenu:规定元素的上下文菜单。
- * dir:规定元素中内容的文本方向。
- *(新增) draggable:规定是否允许用户拖动元素。
- *(新增) dropzone:规定当被拖动的项目/数据被拖放到元素中时会发生什么。
- *(新增) hidden:规定该元素是无关的。被隐藏的元素不会显示。
- * id:规定元素的唯一 ID
- * lang:规定元素中内容的语言代码。
- *(新增) spellcheck:规定是否必须对元素进行拼写或语法检查。
- * style:规定元素的行内样式。
- * tabindex:规定元素的 tab 键控制次序。
- * title:规定有关元素的额外信息。
看上去好像加了蛮多,但说个老实话,除了那几个和css比较贴近的属性(style class id),其他的html4属性都很少有人用(而且貌似大部分人不知道title可以用在几乎所有元素上),更何况是tabindex和accesskey这种。如果不是研究WAI的话,很少有人去用tabindex和accesskey吧(貌似也只有看过腾讯ISUX有做过相关研究:http://isux.tencent.com/pengyou-accessibility-practice.html)。及时不谈大家用不用,游览器支不支持都是个大问题(opera就不支持accesskey)。另外,还有个问题少年——ie 6。
不过说实话,这也算是一种无奈吧。
顺便回归下正题,突然发现,html4和html5的boolean属性标签,最大的区别貌似html5的更加正规。html4中的属性,例如option的selected,需要设置成selected=”selected”,而不是selected=”true”。其实原因很简单,这种属性的“准确”写法应该是
,后来出现xhtml,将html中一系列标签以及属性的写法标准化、结构化,最后写法就成了selected=”selected”,这种写法从某种程度上比较像对原始selected的兼容。而现在出的html5属性则不需要这种兼容。

