首页 > 解决方案 > 可访问性方面,目前使用的最古老的浏览器是什么?我可以实际编程的最古老的浏览器是什么?

问题描述

如果我想编写一个可以被实际仍在使用的任何设备正确解析的网页,我应该使用哪些语法和功能?

我指的是当前使用中的设备,其使用在统计上没有意义,无法包含在浏览器使用统计中,但仍然足够合理,可以在现实世界中使用,而不需要过多的延伸:例如屏幕阅读器、Point-Of -Sale/Kiosk Device,一种互联网设备,如智能电视或控制台。

我最近被指派开发一个 HTML 登录页面,该页面需要支持 - 听我说 - 古老的Microsoft Internet Explorer 6。是的,你没有看错。

长话短说,一个公共管理项目的需求长期处于法律边缘,而修改这些需求比开发和完成它更成问题。至少我的老板是这样说的。此外,这与编写当前的 HTML 新闻通讯应该没有太大区别。

但这让我开始思考——我能在野外找到的最古老的浏览器(例如,支持最古老的 HTML 标准的浏览器)是什么?

我不是在谈论相关性或caniuse 级别的支持数字,只是出于一些或多或少的现实原因(不包括“这是一个 Windows 3.1 VM 上网”复古挑战)人们仍在使用的东西上网。此外,一些安全要求(主要是更新的 SSL/TLS)切断了相当多的旧设备,主要是 Dreamcast、带网络访问磁盘的 PS2 和 PSP 等游戏机,或最初的 Nintendo DS,因此这些也被排除在外。

除了前面提到的 IE6.0,我可以想到一些旧手机的 Opera Mini 浏览器(哪个版本?),或者可能是某种仍在使用 Netfront 运行时的互联网设备(IIRC Playstation 3 仍然使用预 webkit 版本其中)。

有什么建议吗?

标签: htmlbrowserxhtmlaccessibilityhtml4

解决方案


前言 - 抱歉,这变得有点咆哮,我会尝试稍后整理并更加关注它。我也明白你可能不得不听你的老板的话,所以这变成了我代表你对你老板的咆哮。我希望你能用其中的一些来与你的老板建立一个强有力的论据,以改变规范。它也没有回答标题中的问题。可能值得几票反对,但我喜欢咆哮!

鉴于 OP 提出的评论,这个答案适用于此。

我需要支持哪些最古老的浏览器标准以实现可访问性?

WebAIM 年度调查是获取这些信息的好地方。

在“浏览器”部分下,我们可以看到 2.1% 的受访者仍在使用 IE 6,7 或 8。

不幸的是,他们没有说明使用 IE6 的用户的比例,但我想这将低于 0.1%,因为很少有网站仍然在 IE6 上正确运行。

我个人开发到 IE9 标准,所以对 JavaScript 使用 ES5(或编译为 ES5)、HTML 5.0 功能和 CSS3 非实验性功能。

原因是那些使用 IE8 及以下版本的人由于与他们拥有的软件的兼容性而倾向于成为屏幕阅读器用户。他们还倾向于使用一组非常具体的网站,因为大多数网站都不适合他们。

许多人会争辩说,您必须包括所有人,在理想的世界中,您应该这样做。但是,您还必须考虑到您在可访问性方面的目标是为尽可能多的人提供最佳体验。这在使用 IE8 及更低版本时是不可能的,因为您丢失了许多对可访问性有用的 HTML5 标准(特定的表单相关属性、按区域导航<main><nav>)。

那么那些卡在 IE6-8 上的人呢?

如前所述,他们往往是屏幕阅读器用户。这样做的好处是,只要您开发有效的 HTML、用户正确的 WAI-ARIA 属性等(基本上是 AAA WCAG 2.1 评级或尽可能接近,至少 AA 评级),那么在 IE6-8 中,该站点仍然功能相当好并且可用,即使不完美。

CSS 是您的主要困难所在,如果您仍想遵循最佳实践(例如,尝试设置按钮样式以使字体大小足够大并且颜色对比度为 AAA 级),那么在 IE6 中制作网站将非常糟糕。另外,您如何在没有数百次黑客攻击的情况下使其对移动用户做出响应?

那么,如果您必须支持较旧的浏览器怎么办。

您可以提供网站的单独版本(震惊、恐怖、喘息)。

使用用户代理嗅探将人们重定向到一个单独的、剥离的、仅具有最小样式版本的站点的文本。请务必包含指向主站点的链接,并表明这是为旧版浏览器设计的站点版本。

这需要仔细规划,因为您必须确保在两个站点上维护相同的信息,并且在两个站点之间复制引入的功能。

这就是为什么没有人这样做而且我根本不推荐这样做的原因。要考虑的事情的数量、您可以引入的功能的限制以及更新一个版本而不是另一个版本的机会(即使使用内容管理系统)非常高。只犯其中一个错误可能会给您带来更多的问题,而不是根本不实施。

结论

HTML5 引入了许多出色的可访问性功能。

导航区域是最大的胜利之一。

通过按照旧标准进行设计,您最终可能会得到一个不太容易访问的网站。

例如,许多 WAI-ARIA 属性在现代浏览器中不起作用,更不用说在旧浏览器中了。试图回退到使用 WAI-ARIA 属性是行不通的。

可访问且易于使用的布局怎么样?IE6 是布局表格的时代,因为 CSS 在定位方面非常有限。(想要一个粘性导航栏?祝你好运!)

为了提供“最大努力”,我会使用 HTML5 垫片来至少修复 IE7 和 IE8 之类的布局,IE6 是不可行的。

另一个论点是安全性。您到底是如何编写与 IE6 兼容的安全 JavaScript 的。哎呀,今天尝试在互联网上找到一条关于“我如何在 IE6 中解决这个问题”的信息。也许您的解决方案是根本不使用 JavaScript。(是的,有人会争辩说,渐进式增强允许您使用 JavaScript,但随后您会遇到 JavaScript 错误,这意味着您在“稳健”下未通过 WCAG)。

哦,你知道你甚至不能使用<style>*{position:relative}</style><table><input></table>它会导致浏览器崩溃吗?

作为对这个咆哮部分的最终想法,Windows 98 将运行 IE9 和 NVDA。所以我们不能说人们可能没有财力升级,因为 NVDA 是免费的。我们可以说他们没有关于如何升级的技术知识,此时我只能说在网站上写一篇关于如何升级和重定向那里的人的文章?在那一点上,你在哪里画线有点傻。

如何赢得与老板的争论/帮助他们改变规格

您的老板处境不利,但可能没有说服他们轻松更改规格所需的“火力”。

这是他们赢得争论的一个简单方法:WCAG 2.1 AA 是我们可以在不冒被起诉的情况下建立这个网站的最低法律标准。

在保持与 IE6 的兼容性且不影响辅助功能的情况下,这是不可能的。

可访问性错误的成本,以及与尝试开发到如此旧的标准相关的额外开发成本使得这不可行。

再加上开发具有大量安全漏洞的应用程序的可能性,这可能会使网站易受攻击,我强烈建议我们将最低要求更改为 IE8。

tl;博士

您真正需要担心的最旧的浏览器是 Internet Explorer 9。即便如此,您对兼容性的要求也很慷慨。不要尝试开发一个可以在 2001 年以来遇到的所有浏览器中运行的网站(是的,IE6 是 2001 年),你会为更多的人破坏事情,以适应不想升级的人(Windows 98 将运行 IE9 和 NVDA)。

不要试图支持 IE8 及更低版本,因为您最终会做出对可访问性产生负面影响的决定。

如果您可以创建符合WCAG 2.1 AA标准的HTML5 有效CSS3 有效网站,那么您已经比世界上 99% 的网站更容易访问。


推荐阅读