Статьи

НАКЛОН! Столы крадутся в черный ход

Было много написано об использовании DOM для подгонки HTML-кода, чтобы он работал и выглядел лучше, чем это было бы возможно в противном случае. Мало ли мы знали темную силу, с которой мы возились. Жалея о простоте компоновки стола, Дмитрий Глазков придумал хитрый способ подать столы детям, пока их родители не смотрят.

TILT , или «Техника раскладки таблиц», берет здоровую, хорошо структурированную страницу DIV и перестраивает в нее макет таблицы старой школы.

Вы можете увидеть это в действии здесь . Посмотрите на источник в обычном режиме, и вы увидите отправленную разметку. Но просмотрите страницу в Firefox, нажмите CTRL + A (выбрать все), а затем щелкните правой кнопкой мыши, чтобы выбрать «View Selection Source», и вы увидите, что они там пытаются выглядеть невинными. Таблицы.

Я должен признать, что у меня немного раздумья об этом, и это, конечно, очень умно. Даже его оригинальное название для техники — смешок. « … Ботокс, быстрый способ сгладить неприятные старые морщины, вводя обычно токсичные вещества в область лица на вашей странице» .

Но в конечном счете, мне кажется, что назначать химиотерапию для легкого насморка. Это довольно экстремально, потенциально вредно и приводит к ряду неприятных побочных эффектов. К ним относятся:

1) Проблемы доступности: большинство программ чтения с экрана понимают JavaScript, и поскольку таблицы плохо подходят для доступа, код отлично справляется с «десаксификацией» хорошей разметки.

2) Структурные проблемы DOM: если у вас есть CSS или другой JavaScript, основанный на конкретной структуре, внесение в нее серьезных изменений на лету, очевидно, сломает вещи. Это также означает, что вам понадобятся два набора CSS, если вы собираетесь присматривать за пользователями, лишенными JS (‘ table # page H3 {..} ‘ и ‘ div # page H3 {..} ‘).

3) Проблемы с упорядочением исходного кода: TILT, похоже, вынуждает вас отображать элементы страницы в том порядке, в котором они появляются в коде (как в таблице), убирая одну из роскоши CSS.

Тем не менее, это, по крайней мере, отличный эксперимент — и вы должны восхищаться способностью Дмитрия придумать совершенно новый подход к решению проблем, которые должны были рассмотреть десятки тысяч разработчиков.