Acid3

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Acid3
Так має виглядати правильно оброблений тест
Так має виглядати правильно оброблений тест
URL acid3.acidtests.org
Тип тест підтримки браузером веб-стандартів.
Мова Англійська
Автор Ян Хіксон
Започатковано 3 березня 2008

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Сільвен Паш. Підтести 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.

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

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

Виноски[ред.ред. код]