CSS 覆盖可以改变几乎任何内容的默认外观
- 您可以使用 CSS 来 覆盖复选框或单选按钮 的外观,但如果您不这样做,复选框将看起来像您操作系统上的默认复选框,有些人会说这对于可访问性和可用性是最好的。
- 您可以使用 CSS 来 覆盖下拉菜单 的外观,但如果您不这样做,下拉菜单将看起来像您操作系统上的默认下拉菜单,有些人会说这对于可访问性和可用性是最好的。
- 您可以 覆盖锚链接的外观,但有些人会说它们应该是蓝色的带有下划线,因为那是默认的,对于可访问性和可用性是最好的。
- 您可以 覆盖滚动条的外观,但如果您不这样做,滚动条将看起来(并且行为)与您操作系统上的默认滚动条相同,有些人会说这对于可访问性和可用性是最好的。
它不断重复...
- 您可以 自定义按钮的外观,但是...
- 您可以 自定义光标的外观,或者您网站上的特定元素,但是...
- 您可以 更改文本高亮颜色,您可以 更改强调色,实际上,您很快就能 自定义拼写和语法错误 在可编辑的文本区域中,但是...
您在哪里划清界限?
根据我的经验,每个人都有不同的界限。 几乎每个人都为他们的按钮设置样式。 几乎每个人都为他们的链接设置样式,但有些人可能只自定义蓝色色调并保留下划线,在更精细的更改处划清界限。 为复选框、单选按钮和下拉菜单等表单元素设置样式相当流行,但有些人在此之前划清界限。
有些人划清界限说您不应该更改默认光标,有些人将此界限推回到为创建的交互元素将光标更改为指针,有些人将此界限推得更远,他们可以接受自定义图像作为光标。 有些人在滚动条上划清界限,说它们不应该被自定义,而有些人则实现了复杂的样式。
CSS 是一种用于更改网站设计的语言。 您编写的每个规则集都可能更改某些内容的默认值。 这些界限比较模糊,但我认为 CSS 中没有什么东西应该被完全禁止使用——它更多的是关于您所做的样式选择。 因此,当您选择对某些东西进行样式设置时,它仍然可用且可访问。 实际上,background-color
可以被滥用,导致网站上的区域不可访问且不可用,但没有人会对此大动干戈。
我很想知道是什么促使了这篇文章,谁举起了他们的干草叉,以及针对什么?
它的意图更多的是作为一般的观察。 我过去已经看到过对这一切的反对。
例如,这是 Eric Bailey(我想他在这里,为了记录)关于为什么你不应该自定义光标
https://ericwbailey.design/writing/dont-use-custom-css-mouse-cursors/
就我个人而言,我因为自定义滚动条而受到很多批评。
多年来,我看到了很多关于自定义表单元素的反对意见。
他们绝对应该! 我认为对于新体验以及 NFT 和数字艺术的时代,我们应该能够自定义浏览器窗口中每个像素的样式。 至少这会很有趣!
一切都是可定制的。
UA 开发人员和我们一样是人类,他们和其他人一样做事情(你好 Firefox 团队,你那里的滚动条真不错)。
因此一切都是可定制的
不幸的是,默认值并不总是最适合可访问性和可用性。 一个例子可以是焦点状态,一些浏览器即使使用白色背景也具有较差的对比度。
我同意这一点。 此外,如果所有浏览器都能走到一起,让他们的所有默认值都保持一致,那么也许我们会不太倾向于对其中一些东西进行样式设置。
例如,我并不真正关心拥有最漂亮的单选按钮和复选框,但如果它们在所有浏览器中看起来都一样,那么我就不需要调整它们在某些浏览器中的外观,而在其他浏览器中不调整,例如。 而且,别让我开始谈论没有焦点状态; 它们在某些浏览器中非常糟糕,你甚至很难看到它们,即使你专门在寻找它们。
这还需要时间来实现和维护。
阿门。 强大的力量意味着重大的责任。 按照可访问性和可用性的最佳实践进行自定义,一切都会好起来的。
(上下文:我指的是专注于文本和一些图像的网页子集)
更改默认值时的个人规则是遵循以下层次结构
可访问性
移动友好
个人偏好
前两个元素之间有一些重叠。 我试图将“个人偏好”的预算限制在有限范围内,因为我希望用户能够自定义其浏览器默认值而不会出现故障。 浏览器允许用户更改默认样式表(尤其是颜色和字体),我宁愿我的网站符合这些偏好,而不是脱颖而出(在可能的情况下)。