首页 > web前端 > js教程 > 学习焦点()

学习焦点()

Jennifer Aniston
发布: 2025-02-21 10:39:14
原创
663 人浏览过

Learning to focus()

学习焦点()

钥匙要点

  • 对于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>
登录后复制
登录后复制
请参阅codepen上的sitepoint(@sitepoint)的笔IDXJL。

请注意,我们在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>
登录后复制
>将渐进式增强与可访问性混合在一起是一个普遍的错误。想到确保与JavaScript合作的某些东西降低(在这种情况下)意味着它是“可访问”的。当然,它可以使没有JavaScript的人可以访问它,但是大多数键盘和屏幕读取器用户都像其他任何人一样在JavaScript的帮助下与您的应用程序进行交互。诀窍是以尊重所有用户的不同行为和输入的方式使用JavaScript。

>还有一件事:如果您曾经负责使用使用ember.js或angularjs构建的一个页面应用程序,请使用JavaScript focus()方法的代码库。此类应用程序完全使用“视图”完全重写导航;单一页面的动态重建。如果没有一些仔细的焦点管理,以这种方式重建DOM很快就可以很快弄清可访问性。如果您的GREP发现不到几个.cocus实例,则可能有很多工作要做。

>

经常询问有关改善专注和集中的问题

>

>有哪些实际方法可以改善我的专注力和集中度?首先,保持健康的生活方式至关重要。这包括获得足够的睡眠,饮食平衡以及定期体育锻炼。其次,正念和冥想可以帮助训练您的大脑以更好地集中精力。第三,最大程度地减少了分心,例如关闭设备上的通知,可以帮助您专注于手头的任务。最后,从长远来看,定期休息实际上可以提高您的注意力和生产力。

>

>在学习时如何保持专注?

>保持专注于学习时,可以通过创造一个有益的环境来实现有益的环境学习。这意味着一个安静,光线充足的空间,分心很小。将学习课程分解成可管理的块,通常为25-30分钟,然后短暂休息也很有帮助。该技术被称为Pomodoro技术。此外,设定每个学习课程的明确,可实现的目标可以使您保持积极性和专注。

某些食物可以提高我的注意力吗?众所周知,富含omega-3脂肪酸的食物,例如鱼类和亚麻籽,可以支持大脑健康。此外,水果和蔬菜,尤其是富含抗氧化剂的水果,可以帮助保护大脑免受损害并改善认知功能。蛋白质含量高的食物,例如瘦肉和豆类,也可以帮助您保持大脑的警觉和集中。对大脑的好处。它增加了血流,从而改善了大脑健康和认知功能。运动还释放内啡肽,可以帮助改善情绪并减轻压力,从而提高专注力和集中注意力。

>

>我如何改善工作的注意力?您的任务并根据其重要性和紧迫性对它们进行优先级。定期休息以避免倦怠也很有帮助。此外,最大程度地减少了分心,例如关闭设备上不必要的通知,可以帮助您专注于任务。

>

冥想可以帮助提高注意力和集中度吗?它训练您的大脑专注于当前时刻,而忽略分心。常规练习会导致注意力跨度的提高和更好的认知功能。

>

>睡眠如何影响注意力和浓度?

睡眠在认知功能中起着至关重要的作用。缺乏睡眠会损害关注,专注和决策能力。因此,获得足够的质量睡眠对于保持良好的专注和集中度至关重要。

>

>有些共同的注意力,我如何避免它们?

常见的干扰包括社交媒体,电子邮件和不必要的通知在您的设备上。为了避免这些,您可以设置特定时间检查电子邮件和社交媒体。关闭不必要的通知也可以帮助最大程度地减少干扰。

>

>我如何训练我的大脑以更好地集中注意力?

可以通过常规练习来训练您的大脑以更好地进行注意力。正念和冥想等技术可以提供帮助。此外,用难题和游戏挑战大脑也可以提高认知功能和专注。和集中度。因此,通过深呼吸,瑜伽和正念等技术来管理压力可以帮助提高注意力和集中注意力。

以上是学习焦点()的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板