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