В конце 2012 года стратег по мобильным платформам Питер-Пол Кох получил спонсорскую поддержку для QuirksMode.org, что, по его словам, позволит ему тратить больше времени на исследование веб-стандартов и работу над таблицами совместимости, которые будут доступны на webplatform.org.
На выходных запустили CSS-селекторы для мобильных столов. Кох также продолжил изучение столбцов CSS и обнаружил, что есть еще кое-что, что нужно сделать для реализации.
Мы поговорили с Кохом о его работе, о том, как написаны его тесты и почему разработчики должны быть более осторожными при тестировании для каждого движка.
.net: вы прикладываете много усилий для создания мобильных столов. Неужели этого больше нигде не делали в такой степени?
ППК: Нет, на самом деле это не делается. Мне наиболее близки таблицы Макса Фиртмана, ориентированные на API HTML5.
Я не верю в автоматизацию тестирования браузеров или выставления оценок, поэтому я не считаю такие тесты, как тест HTML5. Затем у нас есть Can I Use…, который полезен, но иногда не дает правильной информации о браузере.
Насколько мне известно, я все еще тот, кто проводит самые подробные тесты - и единственный, кто публикует тестовые страницы и результаты.
.net: Как вы собираетесь писать тесты?
ППК: Медленно! Иногда бывает непросто понять, что имеется в виду в спецификации, особенно когда есть только две реализации, которые тонко (или сильно) отличаются. К счастью, у меня большой опыт написания тестов для браузеров, поэтому я знаю, как предотвратить распространенные ошибки.
Например, сначала казалось, что Opera Mini не поддерживает классы CSS, но это, очевидно, ерунда. Проблема оказалась в том, что я проверяю поддержку классов, давая тестовый элемент стиль шрифта: курсив. Многие Opera Minis не поддерживают этот стиль. Поскольку я сталкивался с этим раньше, я знал, что мне нужно изменить стили тестирования. А браузер MeeGo не поддерживает вариант шрифта: маленькие заглавные буквы. Та же история.
Кстати, JavaScript все еще дает курсив когда вы запрашиваете у Opera Mini стиль шрифта значение. Это доказывает, что вы не можете автоматизировать эти тесты: вы должны посмотреть на страницу и определить, используется ли на ней курсивный шрифт.
.net: В своей недавней статье о селекторах и столбцах вы указываете, что браузеры, использующие одну и ту же сборку WebKit, имеют разную совместимость. Подчеркивает ли это, что разработчикам следует быть осторожными в отношении передовых технологий и более тщательно тестировать на разных устройствах?
ППК: Ага. На мобильном телефоне нет WebKit. Существует как минимум двенадцать различных браузеров (за исключением версий, использующих WebKit в качестве механизма рендеринга), но они не обязательно похожи друг на друга.
Лучшим примером является -webkit-column-span объявление. Оказывается, WebKit недавно прекратил поддержку. Это самая странная проблема совместимости, с которой я когда-либо сталкивался, потому что невозможно привязать поддержку к конкретным версиям WebKit. Так что поддержка этого объявления - беспорядок, и тот факт, что браузер использует WebKit, ровно ничего не говорит.