Css 什么决定了Chrome/Mac轮廓聚焦环样式的像素深度?

Css 什么决定了Chrome/Mac轮廓聚焦环样式的像素深度?,css,google-chrome,focus,accessibility,user-agent,Css,Google Chrome,Focus,Accessibility,User Agent,我有一点小毛病,我的团队中的一些成员对同一元素的焦点样式有不同的看法。他们在Mac上运行Chrome86。我正在运行Chrome79 当这个特定的元素被聚焦时,我看到了我习惯的基本聚焦环,在5px深度的蓝色发光 然而,我的同事们看到聚焦元素周围有一个非常窄的2px边界 该元素的代码为: <button> <img ... /> </button> 是什么导致浏览器选择聚焦环的厚度 浏览器的内置样式表(“用户代理样式”)这可能会随着每次主要的浏览

我有一点小毛病,我的团队中的一些成员对同一元素的焦点样式有不同的看法。他们在Mac上运行Chrome86。我正在运行Chrome79

当这个特定的元素被聚焦时,我看到了我习惯的基本聚焦环,在5px深度的蓝色发光

然而,我的同事们看到聚焦元素周围有一个非常窄的2px边界

该元素的代码为:

<button>
    <img ... />
</button>

是什么导致浏览器选择聚焦环的厚度

浏览器的内置样式表(“用户代理样式”)这可能会随着每次主要的浏览器更新而改变-它也是特定于平台的(例如Mac上的Chrome 86将以不同于Windows 10上的Chrome 86的方式呈现)-因此,您不能依赖任何特定的用户代理样式表规则来正确呈现网页

内部图像上的
溢出:隐藏
是否是此错误的原因

我对此表示怀疑

为什么我看不到Chrome79上的问题


.

如果未在CSS中设置焦点轮廓,则实际上由浏览器设置决定


在windows和Mac上,您可以看到不同浏览器之间的行为差异。因此,我不会感到惊讶,这些设置正在从一个版本变为另一个版本。

Chromium在今年早些时候以全新的外观进行了更新

你可以。这是(许多因素之一)可以解释不同的用户代理样式表

但是要知道,仅仅因为你看到了一件事,你的同事就看到了另一件事,这是唯一的选择

我的调焦环只有1px和黑色,因此您可以从中了解各种风格(Windows上的Chrome 86.0.4240.111)

可达性 问题中更重要的部分是您不想“干扰”浏览器默认样式的部分

我真的不想开始添加新的焦点样式,因为我更愿意遵守浏览器自己的设置,以防用户指定了适合他们的焦点样式

这在现实世界中根本不起作用。如果你的网站有蓝色背景怎么办?(是的,我知道浏览器在考虑这一点上变得越来越聪明,但在可访问性方面)。还有,如果你有一个复杂的小部件,它会改变颜色呢

风格聚焦,使其适合网站,您希望周围项目的对比度至少为3:1。对于非常复杂的站点,您可能需要根据背景位置使用不同的聚焦环颜色来保持此对比度

设计你的焦点戒指! @戴提出了一个正确的观点,这一部分最初不是很清楚

当我说“设置聚焦环的样式”时,我的意思是使它们比浏览器默认设置更有用、更突出

考虑它们在页面上的位置(其周围环境),以确保足够的颜色对比度(如前所述,与周围环境的最小对比度为3:1),并确保它们清晰可见(出于某种原因,它们被称为可见焦点指示器)

正如@Dai所说的,不要把这当作一个机会来尝试和锻炼你的创造性肌肉,20px宽的品红聚焦环是不需要的(而且可能无法使用)。在整个站点中保持它们的简单性和一致性

最重要的是,请记住,焦点指示器用于辅助功能。

我倾向于主张使用2px的轮廓和2px的轮廓偏移量,以确保它是可见的,因为项目周围的少量空白使其更易于查看

按钮{
显示:内联flex;
宽度:100px;
高度:100px;
对齐项目:居中;
溢出:隐藏;
位置:相对位置;
右边距:8px;
边缘顶部:8px;
边界:0;
光标:指针;
}
img{
保证金:0自动;
宽度:自动;
高度:自动;
最小宽度:100%;
最小高度:100%;
位置:绝对位置;
右:50%;
最高:50%;
转换:翻译(50%,-50%);
}
.更好:专注{
外形:2px实心#333;
轮廓偏移量:2px;
}
无图像标准按钮
带文本的按钮
标准
更好的

也许你可以提供CSS和HTML来重新编程?@MaxiGui这里有一个代码笔:你为什么要运行Chrome79?它已经过时了。您90%以上的用户现在已经使用Chrome 85+。@Dai我通常只是等待Chrome说有更新后才这样做。但是,我还没有收到任何更新Chrome的通知,所以我仍然在79上。@user1486133您可能已经安装了一个企业版的Chrome,并且禁用了自动更新或其他自动更新(恶意软件可以这样做,以确保您仍然易受攻击,顺便说一句-您可能需要运行病毒扫描)。Chrome79现在已经有将近一年的历史了,这是Chrome发展时间表中的古老历史。你应该打开菜单>帮助>关于,看看为什么它说它没有更新。另外,请检查您是否已禁用Chrome的自动更新系统服务。但它会在不同元素上选择不同厚度的环,即使在Chrome 86中也是如此。什么决定了为每个元素选择的厚度?为什么它会在一些上选择5px,在其他上选择2px。@user1486133请阅读链接文章
:focus
:focus visible
有着微妙的不同风格,由不同的UI事件触发。“设计你的聚焦环!”-我不确定我是否希望每个不熟悉WCAG的业余爱好者突然开始做
*:focus visible{边框:20px插入品红色;}
完成一个讨厌的
@关键帧
动画启动。就我个人而言,我更希望没有一种风格的可访问性元素——你知道,这样它们将仍然是可访问性元素而不是美学元素。哈哈,是的,也许我需要更清楚地说明这一点,我已经在该部分添加了一点,希望能让你的观点得到理解。这种看法是正确的,浏览器默认的焦点指示器实际上并不像ac