Acid3

Acid3
Так має виглядати правильно оброблений тест
Посилання acid3.acidtests.org
Тип тест підтримки браузером вебстандартів.
Мови англійська
Власник Web Standards Projectd
Автор Ян Гіксон
Започатковано 3 березня 2008
Стан Працює
Рейтинг Alexa 1 022 640[1]
CMNS: Acid3 у Вікісховищі

Acid3 — тест на підтримку браузером вебстандартів. Він здійснює перевірку ста ймовірно вразливих місць у HTTP, HTML, CSS, ECMAScript, SVG і XML, а також перевіряє роботу з DOM [2]. Навмисно вибиралися такі тести, які не проходила збірка хоча б одного з браузерів того часу (останні 16 тестів - Firefox або Safari)[3].

29 січня 2008 року Ян Гіксон, розробник Acid2 і Acid3, а нині працівник Google, повідомив про попередній реліз Acid3 — поки сам тест проходив перевірку на відповідність специфікаціям, будь-хто за бажанням міг перевірити свої браузери. 3 березня 2008 розробка тесту була закінчена[4] і з'явилися загальні риси вже Acid4 [5].

Тест[ред. | ред. код]

Основна частина тесту, написана на 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

Основний критерій перевірки — тест браузера з типовими налаштуваннями. Кінцевий результат має бути сто зі ста балів і відповідати піксель до пікселя стандартному виконанню[6]. На браузерах для персональних комп'ютерів анімація має бути плавною (кожен тест повинен тривати не довше 33 мс, що є зразковим еквівалентом продуктивності для топового ноутбука Apple), проте мала продуктивність на слабкому комп'ютері не є критерієм непроходження тесту.

Також для повного проходження необхідно, щоби браузер відображав правильну іконку й заголовок сторінки. При цьому сервер повертає помилку 404 при спробі завантажити її, а зображення іконки міститься в тілі сторінки. Цей тест служить перевіркою правильності реакції браузера на помилки сервера. Відображення стандартної іконки є помилкою.

Під час виконання тесту на сторінку додаються кольорові квадрати; колір їх залежить від кількості виконаних підтестів у групі. Якщо в групі всі тести провалені — квадрат не відображається. Якщо провалено кілька тестів, кольори будуть такими:

  • 1-5 підтестів пройдені: чорний квадрат.
  • 6-10 підтестів пройдені: сірий квадрат.
  • 11-15 підтестів пройдені: сріблястий квадрат.
  • Всі 16 підтестів пройдені: кольоровий — червоний, помаранчевий, жовтий, зелений, синій, фіолетовий (для кожної з груп свій колір).

Після проходження тесту літера «А» в слові Acid3 стає клікабельною, при цьому при простому натисканні виринає вікно з переліком непройдених тестів, а при клацанні з натиснутою кнопкою Shift — ця інформація виводиться в новому вікні.

Тест використовує картинки, закодовані Base64, деякі складні селектори, колірні значення CSS 3 (# hsla-color HSLA [Архівовано 11 квітня 2011 у Wayback Machine.], при цьому несправжні селектори і значення повинні ігноруватися).

Історія розробки[ред. | ред. код]

Ян Гіксон почав працювати над тестом у квітні 2007 року, розробка посувалась повільно. У грудні 2007 робота пришвидшилась. Проект привернув суспільну увагу 10 січня 2008, коли він був згаданий у блозі Ганні ван Кестер. У той час тест був доступний за посиланням, що явно вказує на незакінченість тесту: " http://www.hixie.ch/tests/evil/acid/003/NOT_READY_PLEASE_DO_NOT_USE.html ", — що, однак, не заважало йому привертати загальну увагу веброзробників. У цей час були завершені тільки 84 підтести і 14 січня Ян Гіксон оголосив змагання для завершення решти шістнадцяти[3].

Розробники, які перемогли в цьому змаганні:

  • Сільвен Паш. Підтести 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 року Ян Гіксон оголосив про зміну тесту. За його словами, він вилучив частину тестів, що буде сильно змінена в майбутньому. В результаті, більшість сучасних браузерів (GoogleChrome 14+, Mozilla Firefox 6+, Microsoft Internet Explorer 9+) стали набирати в тесті 100 балів зі 100.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]

Примітки[ред. код]

  1. Alexa.com — 1996.
  2. Зустрічайте — ACID3: Lovata Developers. Архів оригіналу за 15 лютий 2008. Процитовано 18 квітень 2011.
  3. а б Гіксон, Ян (14 січня 2008). The competition for you to come up with the best test for Acid3 (англійською) . Архів оригіналу за 13 липня 2013. Процитовано 1 травня 2013.
  4. Press Releases — The Web Standards Project. Архів оригіналу за 18 травня 2011. Процитовано 18 квітня 2011.
  5. Index of / tests/evil/acid/004. Архів оригіналу за 18 січня 2018. Процитовано 18 квітня 2011.
  6. The Acid3 Test (Reference Rendering ). Архів оригіналу за 12 лютого 2010. Процитовано 18 квітня 2011.