首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【译】W3C WAI-ARIA最佳实践 -- 布局

呈现的内容是表格,从 grid 和 table 中选择实现模式,考虑以下因素。 grid 是一个复合小部件,所以它: 始终包含多个聚焦元素。 在页面Tab序列中只有一个聚焦元素。...组合部件的布局栅格 grid 模式可被用于组合一组交互元素,例如链接、按钮、和复选框。由于整个网格只有一个元素包含在tab序列中,所以使用网格进行分组可以显著减少页面上的tab步骤。...如果存在某些行或列在DOM中被隐藏或不存在的情况,例如滚动自动加载数据,或者网格提供了隐藏行或列的功能,使用以下属性,grid and table properties 所述。...如果必须使用,只能包含一个这样的控件且让其作为最后一个元素且仅组合中包含三个或三个以上的控件,才能使用工具栏作为分组元素。 键盘交互 工具栏获取焦点,焦点被设置在第一个可用控件上。...(译者注:一般情况下,屏幕阅读器用户会使用Tab快速浏览页面上的内容,顺序为从上到下、从左到右,此时,若工具栏获取焦点,则将焦点设置在第一个聚焦的元素上,若使用 Shift + tab 反向浏览,若工具栏获取焦点

6.1K50

用微妙动效改善用户体验的简单方法

之间的动画 对页面标题和页面加载进行动画,是一种对网站添加动效的有效而不会过火的方法。 访问者访问您的网站,可以看到页面之间的平滑过渡。...当用户向下滚动页面,他们可以很容易地专注于那里的信息,同时仍然沉浸在品牌的美感中。 使图表&图形变得生动 动画图表易于结合,而且看起来有趣。...度量(例如移动订单),在条形图中生成,向下滚动,该条形图将加载。 它带来了一些兴奋点,否则将是一些沉闷的数据点。 游客自然地被吸引到观看加载条,因为他们想看看它们的停留点。...此外,动画又是愉悦眼睛的,因为页面没有过重的颜色和其他形式的动画。 网站在一个清爽、白色背景上,运用轻柔的色彩以及柔和明亮的字体, 这使页面上的内容有机会突显,而不必与网站上的其他元素竞争。...页面元素在一段时间内稍微移动,它自动吸引访问者的眼睛。 它类似于向人们耳语来让他们倾听。 当你耳语,倾听者的耳朵自然地微微翘起,听者在潜意识中更多地关注于正在说的话,慢动作动画同理。

2.1K70
您找到你想要的搜索结果了吗?
是的
没有找到

webApp开发心得「建议收藏」

但是从DOMContentLoaded来看,首页事实上页面响应比较迅速,所以这个加载结束后页面第一屏便渲染结束,然后再异步加载js,js改变后再动态改变dom结构中的一些关键点 这个时候一个静态HTML...,暂时没有完美的解决方案,问题二便与渲染直接关联 滚屏页面上所有的像素会跟着滚动,显卡对全屏幕上下移动的处理很快,但是若是出现一个fixed元素或者有元素不跟着一起滚动,那么滚动对手机浏览器来说就是一个负担...fixed元素滑动惯性平滑度 我们常常遇到这种产品需求,tab标签栏开始固定,滚动向下超过该标签栏后便会变成fixed元素,一直出现在头部,这样的需求在电脑上没有问题,但是在iPhone5s以下的手机常常会出现小范围错位或者快速移动大范围错位的问题...l 避免逐条修改DOM样式,改以className实现同样功能 l 操作DOM将display设置为none,因为这种元素不会影响渲染,或者操作fragment对象取代操作显示在页面上的DOM...innerHTML绘制大段,之后想获取HTML的ID节点,事实上是获取不到的,这种问题在单模拟多动态创建DOM会经常发生 var element = $(‘…

81940

webapp开发实战_html5开发手机app实例

但是从DOMContentLoaded来看,首页事实上页面响应比较迅速,所以这个加载结束后页面第一屏便渲染结束,然后再异步加载js,js改变后再动态改变dom结构中的一些关键点 这个时候一个静态HTML...,暂时没有完美的解决方案,问题二便与渲染直接关联 滚屏页面上所有的像素会跟着滚动,显卡对全屏幕上下移动的处理很快,但是若是出现一个fixed元素或者有元素不跟着一起滚动,那么滚动对手机浏览器来说就是一个负担...fixed元素滑动惯性平滑度 我们常常遇到这种产品需求,tab标签栏开始固定,滚动向下超过该标签栏后便会变成fixed元素,一直出现在头部,这样的需求在电脑上没有问题,但是在iPhone5s以下的手机常常会出现小范围错位或者快速移动大范围错位的问题...l 避免逐条修改DOM样式,改以className实现同样功能 l 操作DOM将display设置为none,因为这种元素不会影响渲染,或者操作fragment对象取代操作显示在页面上的DOM...innerHTML绘制大段,之后想获取HTML的ID节点,事实上是获取不到的,这种问题在单模拟多动态创建DOM会经常发生 var element = $(‘…

1.8K20

面试官问:如何判断一个元素是否在可视区域?

Element.getBoundingClientRect().top 表示元素上边距离页面上边的距离 Element.getBoundingClientRect().right表示元素右边距离页面左边的距离...Element.getBoundingClientRect().bottom表示元素下边距离页面上边的距离 Element.getBoundingClientRect().left表示元素左边距离页面左边的距离...image.png 页面发生滚动的时候,它们会随之改变。...应用场景 「图片的懒加载」 有时,我们希望某些静态资源(比如图片),只有用户向下滚动,它们进入视口才加载,这样可以节省带宽,提高网页性能。...「列表的无限滚动」 无限滚动,最好在页面底部有一个尾栏。一旦尾栏可见,就表示用户到达了页面底部,从而加载新的条目放在尾栏前面。

2.7K21

1.元素滚动 scroll 系列

1.元素滚动 scroll 系列 1.1. scroll 概述 scroll 翻译过来就是滚动的,我们使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等。 1.2....页面被卷去的头部 如果浏览器的高(或宽)度不足以显示整个页面,会自动出现滚动条。滚动向下滚动页面上面被隐藏掉的高度,我们就称为页面被卷去的头部。滚动条在滚动时会触发 onscroll事件。...1.3.案例:仿淘宝固定右侧侧边栏 原先侧边栏是绝对定位 页面滚动到一定位置,侧边栏改为固定定位 页面继续滚动,会让 返回顶部显示出来 1.4.案例分析: 需要用到页面滚动事件 scroll...三大系列总结 他们主要用法: 1.offset系列 经常用于获得元素位置    offsetLeft  offsetTop 2.client经常用于获取元素大小  clientWidth clientHeight...3.scroll 经常用于获取滚动距离 scrollTop  scrollLeft   4.注意页面滚动的距离通过 window.pageXOffset  获得

74920

元素滚动 scroll 系列

1. scroll 概述 scroll 翻译过来就是滚动的,我们使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等。 ? ? 2....页面被卷去的头部 如果浏览器的高(或宽)度不足以显示整个页面,会自动出现滚动条。滚动向下滚动页面上面被隐藏掉的高度,我们就称为页面被卷去的头部。滚动条在滚动时会触发 scroll事件。...3.案例:仿淘宝固定右侧侧边栏 原先侧边栏是绝对定位 页面滚动到一定位置,侧边栏改为固定定位 页面继续滚动,会让 返回顶部显示出来 案例分析: 需要用到页面滚动事件 scroll ...他们主要用法: 1.offset系列 经常用于获得元素位置    offsetLeft  offsetTop 2.client经常用于获取元素大小  clientWidth clientHeight 3....scroll 经常用于获取滚动距离 scrollTop  scrollLeft 4.注意页面滚动的距离通过 window.pageXOffset  获得

1.2K30

jimojianghu

此外,对 document 处理了滚轮事件后,因为该事件会传播冒泡,所以需要注意页面上其他的子元素——如果有滚动条之类的,需要在子元素上阻止冒泡,不然后滚动会失效。...禁用双击缩放功能减少浏览器在用户点击屏幕延迟生成点击事件的需要。 触摸动作也经常用于完全解决由支持双击缩放手势引起的点击事件的延迟。 pinch-zoom 启用多手指平移和缩放页面。...请注意,滚动向上(pan-up)意味着用户正在将其手指向下拖动到屏幕表面上,同样 pan-left 表示用户将其手指向右拖动。...但需要注意滚轮默认事件,会导致子元素滚动失效,这时候就要在子元素上阻止相同事件冒泡。...特别是浏览器优化页面滚动的性能,可以让页面滚动更顺滑。 在Chrome中,wheel / touch 等事件中的 passive 会默认设置为true,但Safari不支持。

3.8K00

元素滚动 scroll 系列

1. scroll 概述 scroll 翻译过来就是滚动的,我们使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等。 ? 2....页面被卷去的头部 如果浏览器的高(或宽)度不足以显示整个页面,会自动出现滚动条。滚动向下滚动页面上面被隐藏掉的高度,我们就称为页面被卷去的头部。滚动条在滚动时会触发 onscroll事件。...3.案例:仿淘宝固定右侧侧边栏 原先侧边栏是绝对定位 页面滚动到一定位置,侧边栏改为固定定位 页面继续滚动,会让 返回顶部显示出来 4.案例分析: 需要用到页面滚动事件 scroll...因为是页面滚动,所以事件源是document 滚动到某个位置,就是判断页面被卷去的上部值。...获取元素 var sliderbar = document.querySelector('.slider-bar'); var banner = document.querySelector

1.1K20

3分钟搞定图片懒加载

如何判断一个元素是否在视口内呢? 通过getBoundingClientRect()方法来获取元素的大小以及位置。...随着滚动条的向下滚动,bound.top会越来越小,也就是图片到可视区域顶部的距离越来越小,bound.top <= clientHeight,图片的上沿应该是位于可视区域下沿的位置的临界点,再滚动一点点...= document.body.offsetHeight // 当前页面高度 然后判断: scrollTop + seeHeight >= bodyHeight 滚动条到达底部的时候,获取后端分页的数据...page=0,会随机返回一数据,page>=1会返回相应页码的数据。 源代码: <!...滚动到20张图的底部的时候,就会发出ajax请求,请求下一数据。 ? 至此本文完,有疑问可以在评论区随时交流哈。

2.4K20

vue系列教程之微商城项目|商品详情

问题描述 页面注册 1.在secondary中,新建商品详情shopDetail.vue 2.在路由配置页面router/index.js中,注册该页面的路由 3.监听商品列表的商品点击事件,点击后携带数据跳转到商品详情...2.获取上一个页面跳转携带的数据 ? 3.可以先将数据简单的放到页面上查看效果 ? ? ?...4.需要注意的是,这种获取方式数据,并渲染到页面上页面始终只显示最开始渲染的数据,也就是点击第一个商品,显示第一个商品的数据,点击第二个商品还是显示第一个商品。...初始化流程:给父容器设置固定宽高,并添加ref方便获取该节点元素,父容器中只能有一个子元素,必须在子元素渲染完成后再进行better-scroll的初始化。 ? ?...2.动态显示底部导航栏 方案:在App.vue中通过watch监听当前路由对象$route的变化,页面跳转到商品详情'/shopDetail',给导航栏设置v-show,让其隐藏.

4.3K20

《手把手带你学爬虫──初级篇》第5课 Selenium WebDriver的用法

,如果页面上有多个元素和xpath匹配,那么只会返回第一个匹配的元素。...向页面发送数据并操作 向input框输入数据 获取到了元素以后,就可以向input框输入内容了,并且使用Keys这个类模拟点击某个按键。...('n') # 点击元素,我们发现竟然回到了第一,那是因为,当前非第1页面上出现了上一元素,class属性值也为n,因此,这时得到的元素为上一元素 In [71]: ele_next.click...例如,京东商品页面信息,向下滚动的时候才会请求另外30个item。因此,就需要操作浏览器滚动条,滚动到底部,让所有的信息都加载出来。...页面中的元素或者内容,可以在不同的时间动态加载,这使得定位元素变得困难,例如前面的京东实战,60个页面item中有30个是后台动态请求服务器进行加载后渲染的。

2.6K31

接上一篇事件详解

事件类型: DOM3级事件规定了以下几类事件;如下: UI事件: 当用户与页面上元素交互触发; load事件:页面加载完后(包括所有图像,所有javascript文件,css文件等外部资源),就会触发...mouseover事件:鼠标指针在元素外部,用户将移入另一个元素的边界触发,感觉和mouseenter事件类似; mouseup事件:用户释放鼠标按钮触发; 页面上所有的元素都支持鼠标事件,除了mouseenter...也都实现了这个事件,当用户通过鼠标滚轮与页面交互,在垂直方向上滚动页面(无论向上还是向下),就会触发mousewheel事件,这个事件可以在任何元素上触发,最终会冒泡到document(IE8)或window...120,向下滚动是负数-120,所以根据是否大于0,可以判断是向下滚动还是向上滚动; HTML5事件 1....touchmove:手指在屏幕上滑动连续地触发,这个事件发生期间,我们可以使用preventDefault()事件可以阻止滚动。 touchend: 手指从屏幕上移开触发。

1.8K60

导航栏滚动吸顶并自动高亮和点击跳转锚点

2021-01-16 07:37:33 在阿里云的云市场页面上有一个效果,就是api导航栏滚动滚动到其所在位置,自动吸顶,滚动到下方所在导航栏指定的介绍,自动高亮其导航栏。...那么需要我们自己手动来实现以下,具体实现思路就是增加滚动条监听事件,滚动到导航栏指定内容区域,给其导航栏增加高亮样式,点击导航栏,计算好滚动条的滚动距离,让其滚动过去即可。...{ name:"产品参数", id:"proCanshu", content:"巴拉巴拉这是产品参数" } ] 我们假设导航栏有四个导航,我们将这四个导航和内容渲染到页面上...isToTop = false;//点击锚点滚动条是向上还是向下 //导航栏点击事件 function navClick(id){ let groupList =...,并超过导航栏位置自动吸顶效果,同时点击导航栏滚动条缓动至锚点位置,实现的最终效果可以看阿里云市场详情中的效果,比他显示的效果多了滚动条缓动效果。

10.3K40

【交互探讨】无限滚动还是分页展示,这是个问题!

在初始的几屏页面上,新项目会通过滚动操作出现。只有当用户阅读数达到58个项目,“加载更多”按钮才会开始出现。...有新的内容加载进来时,我们在视觉上将项目分开,并允许用户在列表中标记他们以后想要继续浏览的位置。我们还可以允许他们在单独的页面上查看他们看到的所有产品,这样他们就可以将查看过的选项与所有选项分开。...页脚显示,有一个按钮在需要显示和隐藏页脚 结合分页和无限滚动 当用户向下滚动页面并加载项目,我们可以将其作为动态分页呈现给用户(参见 Pepper.pl)。...当用户继续向下滚动,标签会随着滚动条的增长而变化,还可以根据用户选择的对项目进行排序的任何条件进行使用。 如果用户按价格排序,我们可以在滚动条旁边显示动态的价格标签。...不过,如果您的用户经常探索许多选项,并且浏览是您网站上非常典型的属性,尤其是客户在购物车中添加多个商品或一次操作大量数据条目,无限滚动可能非常有用——但前提是访问性和性能考虑,这才是其设计的核心。

3.1K20

前端面试题 vue_vue面试题必问

特别是项目引用外部 UI 组件或组件迁移到其他项目,命名空间可以避免很多命名冲突的问题。 7.上下文无关 还是上面那句话,复用组件应尽量减少对外部条件的依赖。...(好题,理解) vue页面在加载的时候闪烁花括号{},v-cloak指令和css规则[v-cloak]{display:none}一起用时,这个指令可以隐藏未编译的Mustache标签直到实例准备完毕...父组件v-if 触发渲染和销毁,子组件触发传参 75.Vuex页面刷新数据丢失咋解决这个bug 问题:F5页面刷新,页面销毁之前的资源,重新请求,因此写在生命周期里的vuex数据是重新初始化,无法获取的...因此我们可以在当前生命周期中进行数据最后的修改 4.mounted(){}  当前生命周期数据和模板进行相结合,并且已经挂载到页面上了,因此我们可以在当前生命周期中获取到真实的DOM元素 5. beforeUpdate...  当前生命周期执行完毕后会将vue与页面之间的关联进行断开 包裹动态组件的时候会触发两个新的生命周期 9. activated 组件为活跃状态的时候触发(活跃状态:

8.8K20

前端优秀实践不完全指南

通过本文,你将能收获到: 了解到一些小细节是如何影响用户体验的 了解到如何在尽量小的开发改动下,提升页面的用户体验 了解到一些优秀的交互设计细节 了解基本的无障碍功能及页面访问性的含义 了解基本的提升页面访问性的方法...譬如我们页面上随处可见 loading 效果,其实就是这样一种作用,让用户感知页面正在加载,或者正在处理某些事务。 ? 滚动优化 滚动也是操作网页中非常重要的一环。...页面上可以聚焦的元素,称为聚焦元素,获得焦点的元素,则会触发该元素的 focus 事件,对应的,也就会触发该元素的 :focus 伪类。...除了在 input 框有光标提示,使用 Tab 进行焦点切换到 select 或者到 button ,由于没有了 :focus 样式,用户将完全懵逼,不知道页面的焦点现在处于何处。...有了这个伪类,就可以做到,当用户使用鼠标操作聚焦元素,不展示 :focus 样式或者让其表现较弱,而当用户使用键盘操作焦点,利用 :focus-visible,让可获焦元素获得一个较强的表现样式。

96520

这些不常用的Web API真的有用吗? 别问,问就是有用🈶

以下案例能配动图的我尽量去配了,以免内容枯草乏味,但是如果内容有误,也请大家亲喷或者纠正 方法列表 querySelector(元素向下查询,返回一个) querySelectorAll(元素向下查询,...title-new title-old" // 是否包含指定类名 elem.classList.contains("title"); // false 10. getBoundingClientRect 可以获取指定元素在当前页面的空间信息...w=323&h=363&f=gif&s=270915] 使用场景:页面上的某些元素需要根据手机摆动进行移动,达到视差的效果,比如王者荣耀进入游戏的那个界面,手机转动背景图会跟着动 17. toDataURL...,收到消息,右下角会出现一个通知(尽管你把浏览器最小化),因为这个通知独立于浏览器的,是系统的一个原生控件; const notice = new Notification("前端宇宙情报局",...,王者荣耀里面的活动 总结 其实不常用的还有很多很多,有一些我没有发现或者没写,geoLocation地理定位、execCommand执行命令等,也欢迎大家补充,前几篇文章都是css相关,后面几篇先不写

87630

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券