Я собираюсь просмотреть ваши аргументы один за другим и попытаться показать ошибки в них.
Это хорошо, чтобы отделить контент от макета Но это ошибочный аргумент; Мышление клише.
Это вовсе не ошибочно, потому что HTML был разработан специально. Неправильное использование элемента не может быть полностью исключено (в конце концов, новые идиомы также появились на других языках), но возможные негативные последствия должны быть уравновешены. Кроме того, даже если бы не было аргументов против неправильного использования <table>
элемента сегодня, это может произойти завтра из-за того, как поставщики браузеров применяют к элементу особый режим. В конце концов, они знают, что « <table>
элементы предназначены только для табличных данных» и могут использовать этот факт для улучшения механизма рендеринга, в процессе которого слегка изменяются способы его <table>
поведения и, таким образом, ломаются случаи, когда они ранее использовались неправильно.
И что? Мой босс заботится? Заботятся ли мои пользователи?
Зависит. Твой босс заостренный? Тогда ему может быть все равно. Если она компетентна, то она будет заботиться, потому что пользователи будут .
Возможно, я или мои коллеги-разработчики, которым нужно заботиться о веб-странице ... Является ли таблица менее обслуживаемой? Я думаю, что с помощью таблицы проще, чем с помощью divs и css.
Большинство профессиональных веб-разработчиков, кажется, против вас[ цитата нужна ] . Это столы являются на самом деле менее ремонтопригодны должно быть очевидно. Использование таблиц для макета означает, что изменение корпоративного макета фактически будет означать изменение каждой отдельной страницы. Это может быть очень дорого. С другой стороны, разумное использование семантически значимого HTML в сочетании с CSS может ограничить такие изменения CSS и используемыми изображениями.
Кстати ... почему использование div или span хорошо отделяет контент от макета и таблицы? Чтобы получить хороший макет только с div-файлами, часто требуется много вложенных div-ов.
Глубоко вложенные <div>
s являются анти-паттернами, как и макеты таблиц. Хорошие веб-дизайнеры не нуждаются во многих из них. С другой стороны, даже такие глубокие вложенные div не имеют многих проблем с разметкой таблиц. Фактически, они могут даже способствовать семантической структуре, логически разделяя контент на части.
Читаемость кода, я думаю, что все наоборот. Большинство людей понимают HTML, мало понимают CSS. Это проще
«Большинство людей» не имеют значения. Профессионалы имеют значение. Для профессионалов макеты таблиц создают гораздо больше проблем, чем HTML + CSS. Это все равно что сказать, что я не должен использовать GVim или Emacs, потому что Notepad проще для большинства людей. Или что я не должен использовать LaTeX, потому что MS Word проще для большинства людей.
SEO лучше не использовать таблицы
Я не знаю, правда ли это, и не использовал бы это в качестве аргумента, но это было бы логично. Поисковые системы ищут соответствующие данные. Хотя табличные данные, конечно, могут быть актуальны, пользователи редко ищут. Пользователи ищут термины, используемые в заголовке страницы или аналогичные видные позиции. Поэтому было бы логично исключить табличный контент из фильтрации и, таким образом, сократить время обработки (и затраты!) В значительной степени.
Таблицы медленнее. Нужно вставить дополнительный элемент tbody. Это арахис для современных веб-браузеров.
Дополнительный элемент не имеет ничего общего с медленностью таблиц. С другой стороны, алгоритм разметки таблиц намного сложнее, браузеру часто приходится ждать загрузки всей таблицы, прежде чем он сможет начать разметку содержимого. Кроме того, кэширование макета не будет работать (CSS может быть легко кэширован). Все это уже упоминалось ранее.
Покажите мне несколько тестов, где использование таблицы значительно замедляет страницу.
К сожалению, у меня нет данных о тестах. Я был бы заинтересован в этом сам, потому что правильно, что этому аргументу не хватает определенной научной строгости.
Большинству веб-сайтов, которые нуждаются в обновлении, также необходим новый контент (html). Сценарии, когда новой версии веб-сайта нужен только новый файл CSS, маловероятны.
Не за что. Я работал над несколькими случаями, когда изменение дизайна было упрощено разделением контента и дизайна. Часто все еще необходимо изменить некоторый HTML-код, но изменения всегда будут намного более ограниченными. Кроме того, изменения в дизайне должны быть сделаны динамически. Рассмотрим шаблоны шаблонов, такие как тот, который используется системой блогов WordPress. Расположение таблиц буквально убило бы эту систему. Я работал над аналогичным случаем для коммерческого программного обеспечения. Возможность изменить дизайн без изменения кода HTML была одним из требований бизнеса.
Еще одна вещь. Расположение таблиц значительно усложняет автоматический анализ веб-сайтов (очистку экрана). Это может звучать тривиально, потому что, в конце концов, кто это делает? Я был удивлен сам. Соскребание экрана может сильно помочь, если рассматриваемая служба не предлагает альтернативу WebService для доступа к своим данным. Я работаю в биоинформатике, где это печальная реальность. Современные веб-технологии и веб-сервисы не достигли большинства разработчиков, и зачастую, очистка экрана - единственный способ автоматизировать процесс получения данных. Неудивительно, что многие биологи до сих пор выполняют такие задачи вручную. Для тысяч наборов данных.