三个 input 元素添加了 accesskey 属性,这样在 Mac 下就可以用 Control + Alt(Option) + n快捷键访问到 Name 的输入框了。...需要说明的一点是,id 属性还可以用来导航到文档中的特定位置。...12、tabindex 属性 HTML 页面的键盘焦点可以通过按 Tab 键在各元素之间切换。用 tabindex 属性可以改变默认的转移顺序。 上面的代码实现效果是:在按 Tab 键的过程中,tabindex 为 1 的 Country 输入框第一个被选中,接着焦点会跳到 Name 输入框,最后是 submit 提交...13、title 属性 title 属性提供了元素的额外信息,浏览器通常用这些东西显示工具条提示,这个在一些展示不全的文本标题也经常使用。
---- 什么元素能够focus 默认情况并不是所有元素都能获得焦点。需要满足以下条件之一: 可交互的元素(如 input,select,a)。...tabindex属性 tabindex属性接收一个number作为参数,代表按下键盘Tab键时focus元素切换的顺序。...他的规则如下: 当tabindex大于等于1,切换时按tabindex从小到大的顺序 当tabindex等于0,则tabindex大于等于1的元素切换完后再切换到该元素 当tabindex小于0,不能通过...Tab切换到该元素,但是可以通过elem.focus()使该元素获得焦点 当多个元素tabindex相同,以元素在HTML代码中出现的顺序为准 例子 1<...focusin与focusout事件替代。
导航栏之所以不直接显示而是放进下拉菜单,也是为了在移动端等小尺寸设备中显示得优雅一点,因此这个单击判定其实是优势。...相较于 hover 是悬停、focus 是获得焦点,active 是「正在交互」——从按下鼠标左键(主要按键)到松开、或者是从触摸到松开,一松开便解除 active 状态,而下拉菜单显然是要按下后保持住展开状态的...上面是 tabindex 决定元素是否可以被聚焦,其实 tabindex 还可以决定元素能如何被聚焦以及被聚焦的顺序,而这些就在赋给 tabindex 的值控制的范畴。...其次,当一个元素被聚焦时,点击一般的空白处无法使它失焦。这个问题很迷,在 iOS Safari 上 100% 复现而在 iOS Chrome 上完全无法复现。...上面表述中的「一般」表示这其实是有例外的,比如点击其他默认可聚焦的元素(如 、button 等等)就会使新聚焦的元素顶替原聚焦的元素让先前的元素失焦。
介绍 HTML元素上的属性,可以在元素中添加附加信息。... 以及 accesskey 规定激活(使元素获得焦点)元素的便捷按键 例 通过Alt + F (或者 Shift + Alt + F)打开指定链接(mac:Control...title title 属性常与 form 以及 a 元素一同使用,以提供关于输入格式和链接目标的信息。同时它也是 abbr 和 acronym 元素的必需属性。...tabindex 以下元素支持 tabindex属性:, , , , , 以及 HTML5中添加的全局属性... 链接和图像默认是可拖动的 dropzone 规定在元素上拖动数据时,是否拷贝、移动或链接被拖动数据。
事件处理 不需要用户交互的事件处理程序 激活元素时触发(IE) 页面打印后触发(Chrome、Firefox、IE...(IE) 在停用元素之前触发(IE) <a id=x tabindex=1 onbeforedeactivate...SVG中的Xlink命名空间 XSS 使用值的SVG动画标签...=submit id=x>XSS 隐藏的输入:访问键属性可以在通常无法利用的元素上启用XSS <input type="hidden" accesskey...使用source元素和src属性的音频 <source src="//evil? <em>输入</em>src <input type=image src="//evil?
本文将介绍一个不太实用的小技巧,使用 tabindex 配合 :focus-within 巧妙实现父选择器。 CSS 中是否存在父选择器?...使用 tabindex 使元素获得 focus 事件 tabindex: HTML 标签的属性,指示其元素是否可以聚焦,以及它是否/在何处参与顺序键盘导航(通常使用Tab键,因此得名)。...,能够使用的场景就大大提升了。... tabindex="-1" 呢,tabindex 负值表示元素是可聚焦的,但是不能通过键盘导航来访问到该元素。...在 Chrome 上的表现是正常,而在 Windows 的 Safari、Firefox 上,会触发 button 的 focus 事件,但不会触发父元素的 :focus-within 事件,也就是上面说的
前言 过去零零星星地了解和使用:link、::after和content等伪类、伪元素选择器,最近看书时发现这方面有所欠缺,于是决定稍微深入学习一下,以下为伪类部分的整理。...伪类 伪类选择器实质上是让设计师可以根据元素特定的状态,设置不同的视觉效果。...:active,用于设置鼠标按键按下,但未释放时,链接的样式。 ...假设现在页面存在Target的元素,那么只要地址栏输入#title浏览器就会不断滚动(滚动不一定存在补间动效)直到元素h3#title位于可视区的特定位置。...而HTML5中增加当元素设置了contenteditable或tabindex属性时,该元素支持focus状态。 也就是符合以下选择器的元素均支持focus状态。
-- list属性引用指定的datalist的id --> <!...-- date类型,火狐,ie9 中测试不支持, chrome 支持...., datetime类型:这三款浏览器都不支持, datetime-local:只有chrome支持,...time:时间输入框,chrome支持, week:某一年的第几周,chrome支持, month:某一年的第几月,chrome支持, --> 出生日期:<input name="...-- 取消表单验证: 1、 添加 formnovalidate="formnovalidate" 2. form元素中添加 novalidate="novalidate"...-- form属性定义该元素指向的表单的id, required :表示该字段必填 --> 密码: <input name="pwd" type="password" tabindex
使这段代码做为body的第一个元素,使用css样式代码控制此代码中的内容在视觉上不现实,只有使用屏幕阅读器才可以听到这个链接。...使得用户可以按alt+2切换到导航位置,并且朗读title中的内容,另外由于一般的导航都在div这种无法自动添加焦点的标签上,所以使用tabindex=”-1”或者tabindex=”0”,使得这种标签可以在按下相应快捷键的时候获得焦点...这里设置为-1是因为如果值为0的话,在ie 下相应的区域会有虚线(如图一);在标准浏览器下,比如chrome、firefox、safari等,一个非焦点元素获得焦点的时候会激活outline属性从而产生一个实体的线框...使得用户在按alt+4的时候直接切换至评论输入区,并且阅读title中的值。 6. 在大部分浏览器下当鼠标在某个拥有title属性的区域时候,会出现悬停的小菜单提示,有些影响现有的用户体验。...当鼠标在某个拥有title属性的区域时候,会出现悬停的小菜单提示 解决方式是,默认此区域的title值为空,利用javascript脚本实现:当按下某快捷键的时候,对快捷键绑定的区域进行动态的赋予title
在线分析你的网站 安装浏览器插件( Chrome、 Firefox) 通过 Insights API在应用中嵌入PageSpeed功能 3.其他优秀工具 蜘蛛模拟器:这个工具可以分析你的页面,并提供一些优化建议...可以把脚本移出到一个没必要转义的外部文件中或者把脚本放进注释中。 7.只有唯一的根元素 8.转义属性值中的引号 在属性值中把 ” 转义为" ,把 ’ 转义为' 。...xml:lang属性(因为xml:lang属性是在XML中确定语言信息的标准用法). // 如果网页使用HTML格式,那么应该同时使用xml:lang和lang属性. ...布局 使用Css+Div替换表格布局 创建现代网页需要使用与CSS相分离的XHTML不要再使用表格型布局与font标签等表现性元素(//老生常谈) 使用Css定位替代框架 正确标记列表 替换占位图片...使用ETag ETag:Etag是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等。具体内部含义是使服务器控制的,就像Cookie那样。
事件处理器 想象一下,有一个接口,若想知道键盘上是否有一个键是否被按下,唯一的方法是读取那个按键的当前状态。为了能够响应按键动作,你需要不断读取键盘状态,以在按键被释放之前捕捉到按下状态。...这种方法在执行时间密集计算时非常危险,因为你可能错过按键事件。 一些原始机器可以像那样处理输入。有一种更进一步的方法,硬件或操作系统发现按键时间并将其放入队列中。...因此,要注销一个处理其,您需要为该函数提供一个名称(在本例中为once),以便能够将相同的函数值传递给这两个方法。...触摸事件 我们使用的图形浏览器的风格,是考虑到鼠标界面的情况下而设计的,那个时候触摸屏非常罕见。 为了使网络在早期的触摸屏手机上“工作”,在某种程度上,这些设备的浏览器假装触摸事件是鼠标事件。...其效果是让我们的进度条呆在最顶上。 改变其宽度来指示当前进度。 在设置宽度时,我们使用%而不是px作为单位,使元素的大小相对于页面宽度。
html标签具有语义化,可通过标签名能够判断出该标签的内容,语义化的作用是网页 结构层次更清晰,更容易被搜索引擎收录,更容易让屏幕阅读器读出网页内容。 标签的内容是在一对标签内部的内容。...标签属性 class属性:用于定义元素的类名 id属性:用于指定元素的唯一 id,该属性的值在整个html文档中具有唯一性 style属性:用于指定元素的行内样式,使用该属性后将会覆盖任何全局的样式设定...title属性:用于指定元素的额外信息 accesskey属性:用于指定激活元素的快捷键 tabindex属性:用于指定元素在 tab 键下的次序 dir属性:用于指定元素中内容的文本方向,属性只有...onchange,在元素的值被改变时触发 onfocus,当元素获得焦点时触发 onreset,当表单中的重置按钮被点击时触发 onselect,在元素中文本被选中后触发 onsubmit,...在提交表单时触发 keyboard 键盘事件: onkeydown,在用户按下按键时触发 onkeypress,在用户按下按键后,按着按键时触发。
标签内容之外,与article标签内容相关的辅助信息 hgroup:对整个页面或者是页面中的一个区块的标题进行组合使用 nav:表示页面中的导航链接的部分 figure:表示一段独立的内容,一般表示一个独立的单元...这些元素纯粹是为画面展示服务的,HTML5中提倡把画面展示性功能放在css中统一编辑。 2、不再使用frame框架。 frameset、frame、noframes。...3、只有部分浏览器支持的元素 applet、bgsound、blink、marquee等标签。 4、其他被废除的元素 废除rb,使用ruby替代。 废除acronym使用abbr替代。...兼容性查询网站:http://caniuse.com/ web语义化的定义 在HTML结构的恰当位置上使用语义恰当的标签,使页面具有良好的结构,是页面标签元素具有含义,能让搜索引擎更容易理解。...即使在没有css样式的情况下,网页的内容也应该是有序的文档格式显示,并且是容易阅读的。 使项目维护人员更容易对网站进行分块,便于阅读理解。 不具有语义的标签元素最好不要在里面放文字。
0.2 监控文字输入的方法 使用Canvas实现文字编辑器的细节这里就不讲了,原理大致都相同。...0.2.1 键盘事件 监听keydown 和 keyup事件是最直接的方法,通过keyCode我们可以获取按键值。...事件触发之后被触发,这是input类型元素使用的标准事件,表示有文字输入。...0.3.2 value 从0.3.1的图中我们可以看到拼音输入法输入过程中,value值的变化,在完成输入之前这个值是由输入法控制的,完成之后,value的值会变为输入的文字内容。...我们在代码中对keydown,keyup,input,compositionstart和compositionend同时做事件监听,然后使用这个版本的搜狗输入法做输入。结果如下: ? ?
HTML的全局标准属性 在HTML中,规定了8个全局标准属性。 class用于定义元素的类名。 id用于指定元素的唯一id。 style用于指定元素的行内样式。...tabindex用于指定元素在tab键下的次序。...支持tabindex属性的元素有,,,,,, dir用于指定元素中内容的文本方向。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...无语义元素:,,是内联标签,用在一行文本中,是块级标签。
我们中的一些人仍然使用带 class 的 div 作为这些特定的布局元素。为什么?因为我们不知道。...以下是我们在开发任何前端时需要注意的事项: HTML 语义 —— 正确使用 HTML 分区元素 标题 —— 用于显示文档的结构,而非用于大字体的设计 键盘导航使用“tabindex”和 ARIA ——...这里也有一些注意事项: 不设置按钮样式以及设置按钮样式的理想方法 针对于没有任何文本、只有图片的按钮,可遵循以下三个步骤中的任何一个: 使用隐藏的来指明按钮标签 在上使用...在设置焦点指示器的样式时,我们需要考虑以下几点: 对比区 与相邻颜色对比 不要遮盖焦点元素 在下面的示例中,黑色显示了焦点指示器启用状态 (使用键盘 tab 时的样式): 设置焦点指示器样式的不同方法...是否用 tabindex=-1 删除了不需要的链接? 所有按钮是否都可以访问? 他们有合适的名称或标签吗? 如果没有,你是否提供了 ARIA 标签或替代方法? 你改变焦点指示器的样式了吗?
HTML的全局标准属性 在HTML中,规定了8个全局标准属性。 class用于定义元素的类名。 id用于指定元素的唯一 id。...tabindex用于指定元素在 tab键下的次序。...支持tabindex属性的元素有,,,,,, dir用于指定元素中内容的文本方向。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...无语义元素: ,, 是内联标签,用在一行文本中, 是块级标签。
在IE中用于mouseover和mouseout 事件,可以引用移出鼠标的元素。...toElement 在IE中用于mouseover和mouseout 事件,该属性引用移入鼠标的元素。...returnValue 设置或获取事件的返回值 keyCode(IE) 键盘码 which() charCode offsetX,offsetY 事件在源元素的中的x坐标和y坐标。...判断鼠标指针的垂直坐标 ctrlKey 判断"CTRL" 键是否被按下 keyIdentifier 按键的标识符 keyLocation 按键在设备上的位置...,hidden与它方法差不多) b.accessKey 设置或返回访问按钮的快捷键 b.alt 设置或返回当浏览器无法显示按钮时供显示的替代文本
keydown事件在按下键盘按键后触发。 扩展阅读 详细介绍各个事件的不同。 input input是理想的文本内容变化监听事件,可以在内容改变后实时触发。...IE9以下浏览器不支持input事件,可以使用IE特有的propertychange事件替代。...对于type为radio | checkbox的input,当元素:checked时触发(通过点击或者使用键盘) 对于需要选择的表单元素,当用户完成提交时触发,例如: 点击select中的选项。...其中keydown会在按下任意字符后触发,keyup会在按键弹起后触发(chrome下中/英切换按钮弹起不会触发keyup)。...keypress事件已经不被推荐使用,可以使用beforeinput替代。
一,需求 在Winform中,默认情况下,按下Tab键,光标会按照我们设定的TabIndex值从小到大进行跳转。...但如果用户要求按下Tab键跳转到特定的控件,这种要求还是很合理的,比如用户只想输入几个必须填的项目。 我们可以在配置文件中配置这些必须填写的项目,并设定他们的跳转顺序。这样程序也更加灵活,利于扩展。...二,探索实现方法 1,在每个输入控件的keyDown事件里判断是Tab键,做相应的跳转处理。 最后调查发现按下Tab键,并不会触发控件keyDown事件,Tab键默认被系统处理了,悲剧了。...另外,输入项目太多的时候,这个做法工作量也太大了,不可行。 2,找一个全局点控制,而不分散到每个控件来处理。 方法就是利用Form本身的ProcessCmdKey方法。...parent.Parent; tabCtrl.SelectedTab = (parent as TabPage); } } 上面的tabMap,在实际应用中应该从配置文件中读取
领取专属 10元无门槛券
手把手带您无忧上云