学习焦点()
钥匙要点
- 对于Web可访问性,管理焦点在JavaScript驱动的交互式小部件中至关重要。重要的是使用程序化焦点以确保用户可以与接口的不同区域进行交互,即使不使用鼠标。
在更改ScrollTop的动画中,必须覆盖元素的默认功能,以确保屏幕读取器输出和键盘交互从页面的正确区域继续。这可以通过使用TabIndex属性以编程为焦点的目标片段来实现这一目标,并在动画的回调中包括JavaScript focus()方法。
> 关闭对话框或模态窗口时,重新关注打开对话框的元素是合乎逻辑的。这可以通过将DOM节点保存在内存中或在其上写下标记来完成。这有助于用户知道他们在页面上的位置,并防止他们必须涉足文档才能再次找到自己的位置。
- 多亏了好运,我有一双功能齐全的眼睛。当涉及到网页时,这是一个福音,因为将我的注意力从页面的一个部分转移到另一部分,只需半自觉地收缩我的眼外肌肉,并旋转我的眼睛的圆周。 >尽管我的视觉效果 - 因此,因此可以说已经改变了焦点,但用户界面本身并不知道我的注意力已经改变。至少,直到我开始与新审查的区域进行物理相互作用。换句话说,旋转我的眼球是一个未录制的事件。
>这是一个非常普遍但经常未解决的可访问性问题:如果我不使用眼睛(和鼠标的手指向),那么我如何“专注于”某些东西以与之互动?我确定您知道的答案是通过程序化的重点。但是,这并不像将“焦点”元素合并到我们的设计中那么简单。有时,不是用户,而是用户代表用户的接口必须在不同区域之间移动。这就需要故意将重点管理集中在开发人员方面。
对于可访问性,即使是最简单的JavaScript驱动的交互式小部件,管理焦点至关重要,但是使用自动化的QA
工具几乎不可能进行正确的用法。这就是为什么我今天想带您几个简单的示例。>
> scrolltop动画
在此示例中,我邀请您想象您已经“增强”了同一页面导航链接,以便您不要突然跳到链接的目标片段(#第1节,假设),而是将其轻轻地引入此目的地通过JavaScript卷轴动画。使用此技术时要注意的有关可访问性的重要信息是覆盖元素的默认功能的必要性。
event<span>.preventDefault();</span>
不链接。实际上,确定链接实际上正确将用户正确到页面片段的唯一方法是关闭JavaScript。好吧, >通过简单地链接到页面片段(就像JavaScript Off的一个人一样),浏览器本质上是
focus此片段。这是屏幕读取器输出和键盘交互现在基于的地方。通过对ScrollTop进行动画操作,不会进行这种聚焦操作,这意味着屏幕阅读器的输出和键盘交互从页面区域继续进行,而不再是视图。这是不好的。 补救症
我们需要通过JavaScript聚焦目标片段。首先,我们需要将片段从编程上开始,因此需要使用Tabindex属性。 Tabindex值为-1是一个特殊的值,这意味着脚本可以将元素重点放在,但不能集中用户。这比TabIndex更可取:在这种情况下,因为没有理由使用Tab键。
>注意:感谢Patrick和其他人在评论中指出的事实是,这应该使用“ -1”而不是“ 0”作为Tabindex值,我们现在已经更正了。 🎜>
我们的第二个任务是将JavaScript focus()方法包括在动画的回调中,确保动画结束后的片段焦点>。
>最后,最好像简单地链接到片段(例如http:// my-site/#Section1)那样记录我们在URL中的子页面位置。这样,我们就可以将地址复制为指向特定部分的链接(即我们可以“深链接”)。在焦点()发生之后包括以下行:<span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span> </span> ... <span><span><span></section</span>></span></span>
当然,您将根据相应链接的HREF为任何变量替换“第1节”,减去#。
<span>document.getElementById('section1').focus();</span>
>一个小的Codepen演示在下面嵌入。尝试将其与仅作为惯常键盘用户的tab和Shift Tab使用。
<span>window.location.hash = 'section1';</span>
请注意,我们在JavaScript中即时添加了Tabindex属性。现在,我们将要滚动到的部分(片段)集中到了我们所感知的位置不仅仅是视觉效果。也就是说,我应该在转到新部分后按TAB键,我将集中该部分中的下一个焦点元素;在下面的示例中,超链接读取“ heydonworks.com”。
>event<span>.preventDefault();</span>
>如果我们不专注于第1节,请按TAB键将关注插图链接之后的下一个元素,该链接将将视口跃回我们的导航块。换句话说,键盘用户将返回第一方。
><span><span><span><section</span> id<span>="section1"</span> tabindex<span>="-1"</span>></span> </span> ... <span><span><span></section</span>></span></span>
关闭对话框(模式窗口)
这是另一个小例子。让我们假装用户按下
为了使打开此按钮可访问,我们应该以与最后一个示例中的页面片段相同的方式进行焦点()对话框。使用jqueryui,对话框的第一个按钮(在我们的情况下为“确认”)将集中在集中。其他实现将对话容器集中。无论哪种方式,用户都可以通过编程方式发送到正确的位置。 >问题是:“对话框关闭时会集中注意力?”如果我们什么也不做,新隐藏的对话框一定会失去焦点,但什么都不会取代。在许多用户代理中,这意味着默认情况下
焦点是使用户通过文档再次找到自己的位置。 >重新集中打开对话框的元素是更合乎逻辑的。这很容易通过将DOM节点保存在内存中或在其上写下标记以供以后使用,例如:<span>document.getElementById('section1').focus();</span>
>在对话框的结尾()方法的末尾,我们只会集中原始元素:
>大多数屏幕读取器重新集中在按钮时,都会宣布页面的标题,然后宣布焦点按钮。这样,您知道自己在哪里。使用此方法的对话框的一个示例可以进行测试。
<span>window.location.hash = 'section1';</span>
结论
<span><span><span><a</span> href<span>="#whatever"</span>></span>scroll to section 'whatever'<span><span></a</span>></span></span>
>还有一件事:如果您曾经负责使用使用ember.js或angularjs构建的一个页面应用程序,请使用JavaScript focus()方法的代码库。此类应用程序完全使用“视图”完全重写导航;单一页面的动态重建。如果没有一些仔细的焦点管理,以这种方式重建DOM很快就可以很快弄清可访问性。如果您的GREP发现不到几个.cocus实例,则可能有很多工作要做。
>经常询问有关改善专注和集中的问题
>>有哪些实际方法可以改善我的专注力和集中度?首先,保持健康的生活方式至关重要。这包括获得足够的睡眠,饮食平衡以及定期体育锻炼。其次,正念和冥想可以帮助训练您的大脑以更好地集中精力。第三,最大程度地减少了分心,例如关闭设备上的通知,可以帮助您专注于手头的任务。最后,从长远来看,定期休息实际上可以提高您的注意力和生产力。
>>在学习时如何保持专注?
>
>我如何改善工作的注意力?您的任务并根据其重要性和紧迫性对它们进行优先级。定期休息以避免倦怠也很有帮助。此外,最大程度地减少了分心,例如关闭设备上不必要的通知,可以帮助您专注于任务。>冥想可以帮助提高注意力和集中度吗?它训练您的大脑专注于当前时刻,而忽略分心。常规练习会导致注意力跨度的提高和更好的认知功能。
>
>睡眠如何影响注意力和浓度?
睡眠在认知功能中起着至关重要的作用。缺乏睡眠会损害关注,专注和决策能力。因此,获得足够的质量睡眠对于保持良好的专注和集中度至关重要。>
>有些共同的注意力,我如何避免它们?常见的干扰包括社交媒体,电子邮件和不必要的通知在您的设备上。为了避免这些,您可以设置特定时间检查电子邮件和社交媒体。关闭不必要的通知也可以帮助最大程度地减少干扰。
>>我如何训练我的大脑以更好地集中注意力?
可以通过常规练习来训练您的大脑以更好地进行注意力。正念和冥想等技术可以提供帮助。此外,用难题和游戏挑战大脑也可以提高认知功能和专注。和集中度。因此,通过深呼吸,瑜伽和正念等技术来管理压力可以帮助提高注意力和集中注意力。以上是学习焦点()的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

掌握了入门级TypeScript教程后,您应该能够在支持TypeScript的IDE中编写自己的代码,并将其编译成JavaScript。本教程将深入探讨TypeScript中各种数据类型。 JavaScript拥有七种数据类型:Null、Undefined、Boolean、Number、String、Symbol(ES6引入)和Object。TypeScript在此基础上定义了更多类型,本教程将详细介绍所有这些类型。 Null数据类型 与JavaScript一样,TypeScript中的null

本文探讨了Java收藏框架的有效使用。 它强调根据数据结构,性能需求和线程安全选择适当的收集(列表,设置,地图,队列)。 通过高效优化收集用法

本教程将介绍如何使用 Chart.js 创建饼图、环形图和气泡图。此前,我们已学习了 Chart.js 的四种图表类型:折线图和条形图(教程二),以及雷达图和极地区域图(教程三)。 创建饼图和环形图 饼图和环形图非常适合展示某个整体被划分为不同部分的比例。例如,可以使用饼图展示野生动物园中雄狮、雌狮和幼狮的百分比,或不同候选人在选举中获得的投票百分比。 饼图仅适用于比较单个参数或数据集。需要注意的是,饼图无法绘制值为零的实体,因为饼图中扇形的角度取决于数据点的数值大小。这意味着任何占比为零的实体
