Acid3
Acid3 — тест поддержки браузером веб-стандартов. Он проверяет 100 вероятно уязвимых мест в HTTP, HTML, CSS, ECMAScript, SVG и XML, а также работу с DOM[1]. Намеренно выбираются такие тесты, которые не проходила сборка хотя бы одного из браузеров того времени (последние 16 тестов — Firefox или Safari).[2]
Acid3 | |
---|---|
Так должен выглядеть правильно обработанный тест | |
URL | acid3.acidtests.org |
Тип сайта | тест поддержки браузером веб-стандартов. |
Язык (-и) | Английский |
Владелец | Web Standards Project |
Автор | Ян Хиксон |
Начало работы | 3 марта 2008 |
Текущий статус | Оставлен для истории |
Медиафайлы на Викискладе |
29 января 2008 года Ян Хиксон, разработчик Acid2 и Acid3, а ныне работник Google, сообщил о предварительном релизе Acid3 — пока сам тест проходил проверку на соответствие спецификациям, каждый желающий мог проверить свои браузеры. 3 марта 2008 разработка теста была закончена,[3] и появились наброски для Acid4[4].
В 2013 году Хиксон объявил, что достиг целей по унификации браузеров, и Acid4 так и не появился. К апрелю 2017 года спецификации пришли к консенсусу, который слегка не совпадает с тем, что проверяет Acid3[5]. Тест оставили ради истории, но он уже ничего не значит. На 2022 год и Firefox Quantum, и мобильный Firefox, и браузеры на Blink проходят его на 97/100.
ТестПравить
Основная часть теста написана на JavaScript и содержит 100 подтестов в шести группах и несколько специальных тестов (0, 97, 98, 99)
- Группа 1: DOM Traversal, DOM Range, HTTP
- Группа 2: DOM2 Core и DOM2 Events
- Группа 3: DOM2 Views, DOM2 Style, CSS 3 селекторы и Media Queries
- Группа 4: Поведение HTML таблиц и форм при управлении из скрипта и DOM2 HTML
- Группа 5: Тесты из соревнования Acid3
- Группа 6: ECMAScript
Основной критерий проверки — запуск тестов с настройками браузера по умолчанию. Конечный результат должен получить 100 из 100 баллов и соответствовать стандартному исполнению пиксел в пиксел.[6] На браузерах для персональных компьютеров анимация должна быть гладкой (каждый тест должен проходиться быстрее, чем за 33 мс, что является примерным эквивалентом по производительности ноутбуку Apple), однако малая производительность на слабом компьютере не является критерием непрохождения теста.
Также для правильного отображения полного прохождения необходимо, чтобы браузер отображал правильную иконку и заголовок страницы. При этом сервер возвращает статус сервера Not Found:404 при попытке загрузить её, а изображение иконки содержится в теле страницы. Этот тест проверяет правильность реакции браузера на ошибки сервера. Стандартная иконка является ошибкой.
В течение теста на страницу добавляются цветные квадраты; цвет квадратов зависит от числа выполненных подтестов в группе. Если в группе все тесты провалены — квадрат не отображается. Если несколько тестов провалено, цвета будут такими:
- 1-5 подтестов пройдены: чёрный квадрат.
- 6-10 подтестов пройдены: серый квадрат.
- 11-15 подтестов пройдены: серебристый квадрат.
- Все 16 подтестов пройдены: цветной (красный, оранжевый, жёлтый, зелёный, синий, фиолетовый — для каждой из групп свой цвет).
После прохождения теста буква «А» в слове Acid3 становится кликабельной, при этом при простом нажатии выводится всплывающее окно с перечнем непройденных тестов или же данная информация выводится в новом окне при щелчке с нажатой кнопкой Shift.
Тест использует картинки, закодированные Base64, некоторые сложные селекторы, цветовые значения CSS 3 (HSLA, при этом ненастоящие селекторы и значения должны игнорироваться).
Статистика прохождения теста браузерамиПравить
Движок | Основной браузер | Результат | Примечания |
---|---|---|---|
Gecko | Mozilla Firefox | 100 | Команда разработчиков движка Gecko создала страницу координации ошибки[7] и таблицу зависимых «ошибок»[8] о процессе прохождения теста. Mozilla Firefox версии 7.0 проходит тест на 100/100. |
Netscape Navigator | 52 | Последняя версия браузера (9.0.0.6), вышедшая 17 декабря 2007 года, проходит тест на 52/100. | |
KHTML | Konqueror | 89 (разрабатываемая версия — 92) | Работа над прохождением началась 30 января 2008[9]. |
Presto | Opera | 100 | Opera версий 10 и выше полностью проходит тест Acid3.
Однако Opera версии 11.50 показывает 65/100 из-за её настроек безопасности. |
Trident | Internet Explorer | 100 | После обновления теста (17 сентября 2011), Internet Explorer 9 проходит тест на 100/100. |
WebKit | Safari | 100 | Команда разработчиков движка WebKit создала страницу координации ошибки[10]. Сборка WebKit r31356 полностью проходит Acid3, но есть недостатки в производительности. Новая версия браузера Safari 4 полностью проходит тест Acid3[11]. |
Safari на Mac OS X | 100 | Начиная с версии Safari 4 Public Beta на Mac OS X полностью проходит тест | |
Google Chrome | 100 | Начиная с версии 4.0.249.78 проходит тест полностью |
Мобильные браузерыПравить
Движок | Браузер | Результат |
---|---|---|
Gecko | Firefox Mobile 4.0 | 100 |
Presto | Opera Mobile 10 | 100 |
Opera Mini v5.1 | 98 | |
Trident | Internet Explorer Mobile (Windows Phone 7) |
100 |
WebKit | Стандартный браузер для Android | 100 |
Iris Browser v1.1.7 | 100 | |
MobileSafari v4.0 на iPhone OS v3.1.2 | 100 | |
Samsung Dolfin Browser на Bada 2.0 | 100 | |
Nokia Web Browser S60 на Symbian 9.4 | 93 | |
NetFront | NetFront v3.5 | 11 |
История разработкиПравить
Ян Хиксон начал работать над тестом в апреле 2007 года, но разработка шла медленно. В декабре 2007 работа пошла ускоренным темпом, и проект привлёк общественное внимание 10 января 2008, когда он был упомянут в блоге Анне ван Кестерен. В то время тест был доступен по ссылке, явно указывающий на незаконченность теста: «http://www.hixie.ch/tests/evil/acid/003/NOT_READY_PLEASE_DO_NOT_USE.html», что однако не мешало ему привлекать всеобщее внимание веб-разработчиков. В это время были завершены только 84 подтеста, и 14 января Ян Хиксон объявил соревнование для завершения оставшихся шестнадцати[12].
Разработчики, победившие в соревновании:
- Сильвен Паш, подтесты 66—67 (DOM);
- Дэвид Чен, подтест 68 (UTF-16);
- Симон Питерс (Opera) и Анне ван Кестерен (Opera), подтест 71: HTML-парсинг;
- Джонас Сикин (Mozilla) и Гаррет Смит, подтест 72: динамическая модификация текста стилей;
- Джонас Сикин (Mozilla), подтест 73: вложенные события;
- Эрик Дэльстром (Opera), подтесты 74—78: SVG и SMIL;
- Кэмерон МакКормак (Batik SVG library), подтест 79: SVG-шрифты.
Ещё до выпуска официального релиза влияние теста на развитие браузеров было огромным. WebKit, в частности, сделал прыжок вперёд; менее чем за месяц его результаты в тесте возросли с 60 до 87.
Официально тест был выпущен 3 марта 2008. Руководство и документация должны были быть завершены через несколько месяцев, однако до мая 2009 релиз не состоялся. Сообщение о завершённости теста означает лишь возможность использовать его, при нахождении ошибок тест может быть модифицирован. Тест уже несколько раз был изменён для исправления некоторых ошибок, относящихся к позиционированию, SVG-шрифтам и производительности. 26 марта 2008 одновременно разработчики Opera и WebKit объявили о стопроцентном прохождении теста.
По состоянию на март 2008 ранние версии движков Presto и WebKit получали 100 из 100 и правильно обрабатывали страницу, однако на тот момент ни один из браузеров на основе этих движков не проходил тест.
17 сентября 2011, Ян Хиксон объявил об обновлении Acid3-тестов. Он утверждает, что, удалил часть тестов, которые могут быть сильно изменены в следующих спецификациях. В результате Firefox 6 и Internet Explorer 9 получили 100 из 100 в тесте Acid3[13].
См. такжеПравить
ПримечанияПравить
- ↑ Встречайте — ACID3 : Lovata Developers Архивная копия от 15 февраля 2008 на Wayback Machine Архивировано 15 февраля 2008 года.
- ↑ Ian Hickson. The competition for you to come up with the best test for Acid3 (англ.) (недоступная ссылка — история) (январь 2008). Дата обращения: 7 апреля 2008. Архивировано 4 марта 2012 года.
- ↑ Press Releases — The Web Standards Project (неопр.). Дата обращения: 4 марта 2008. Архивировано 18 мая 2011 года.
- ↑ Index of /tests/evil/acid/004 (неопр.). Дата обращения: 16 сентября 2009. Архивировано 19 апреля 2012 года.
- ↑ Архивированная копия (неопр.). Дата обращения: 16 сентября 2019. Архивировано из оригинала 27 сентября 2009 года.
- ↑ The Acid3 Test (Reference Rendering) (неопр.). Дата обращения: 5 февраля 2008. Архивировано 23 ноября 2021 года.
- ↑ Bug 410460 (acid3) — Acid3 tracking bug (неопр.). Дата обращения: 16 февраля 2008. Архивировано 10 апреля 2021 года.
- ↑ Google document - Таблица Acid3 (неопр.) (недоступная ссылка — история). Дата обращения: 18 февраля 2008. Архивировано 4 марта 2012 года.
- ↑ Bug 156947: Konqueror 4 fails Acid3 test (неопр.) (недоступная ссылка — история). Дата обращения: 2 марта 2008. Архивировано 4 марта 2012 года.
- ↑ Webkit tracking bug (неопр.) (недоступная ссылка — история). Дата обращения: 18 февраля 2008. Архивировано 4 марта 2012 года.
- ↑ Maciej Stachowiak. WebKit achieves Acid3 100/100 in public build (неопр.) (недоступная ссылка — история) (2008-03-26). Дата обращения: 26 марта 2008. Архивировано 4 марта 2012 года.
- ↑ Хиксон, Ян The competition for you to come up with the best test for Acid3 (неопр.) (недоступная ссылка — история) (14 января 2008). Дата обращения: 4 марта 2008. Архивировано 4 марта 2012 года.
- ↑ Ian Hickson. Acid3 2011 Update (неопр.) (17 сентября 2011). Дата обращения: 17 сентября 2011. Архивировано 12 октября 2011 года.