Проверка HTML: стоит ли это?

Каковы преимущества и недостатки (если они есть) того, что все страницы проверяются по сравнению с наличием недействительного HTML, который, однако, работает во всех основных браузерах?

Кроме того, имеет ли действительный HTML после того, как Javascript выполняет так же важно?

50 голосов | спросил Andreas Bonini 9 J000000Friday10 2010, 02:59:08

17 ответов


40

Я думаю, что определенно стоит делать , но вы никогда не должны быть подчиненными для проверки - это игра дурака.

http://www.codinghorror.com/blog/2009 /03/html-validation-does-it-matter.html

  1. Подтвердите свой HTML. Знайте, что значит иметь правильную разметку HTML. Поймите инструмент. Больше информации всегда лучше, чем меньше информации. Зачем летать слепой?

  2. Никто не заботится о том, действителен ли ваш HTML-код. Кроме вас. Если вы хотите. Не думайте ни на секунду, что создание абсолютно правильного HTML важнее, чем запуск вашего сайта, предоставление функций, которые поражают ваших пользователей, или выполнение работы.

ответил Jeff Atwood 17 J000000Saturday10 2010, 08:07:34
32

Я считаю корректным HTML стоящую цель, но не вижу в ней ничего общего и все, что нужно для создания хороших веб-сайтов.

Трюк заключается в том, что ваша разметка может быть совершенно правильной, но она может быть не семантической - например, используя таблицы для макета или навигации. Существует разница между допустимым кодом и семантическим кодом.

С другой стороны, если вы используете рекламу или внешние скрипты, они могут вставлять свою собственную разметку, которая имеет шанс по-настоящему объединиться с вашим собственным.

ответил Grant Palin 9 J000000Friday10 2010, 03:27:28
22

Я думаю, что это того стоит, поскольку я обнаружил множество ошибок разметки и логики, добиваясь проверки. Это одна из тех «необходимых, но недостаточно» вещей. Допустимая разметка, такая как код, который компилирует (или проверяет через JSlint), без ошибок, предупреждений и подсказок, является хорошим первым шагом в правильном выборе.

ответил Alan 9 J000000Friday10 2010, 05:34:31
9

Большой плюс допустимого HTML заключается в том, что ваша страница более доступна для других, чем «основные браузеры». У всех «основных браузеров» есть бесконечные обходные пути, чтобы справиться со всем недопустимым барахлом, который заполняет WWW. Тем не менее, придерживаться допустимого HTML помогает, например, если кто-то использует браузер для слабовидящих, или доступ к вашим страницам в автономном режиме и т. Д.

ответил 9 J000000Friday10 2010, 05:00:21
8

Валидация сама по себе не так критична, поскольку несколько браузеров совместимы на 100%, и спецификация не на 100% не знает, как интерпретировать правила.

Однако, будучи действительным HTML, вы можете лучше адаптировать и улучшить свой сайт. По мере того, как стандарты перемещаются, они, как правило, переносятся вперед, и если ваш новый сайт действителен, то обновление для поддержки последней вещи должно быть проще.

Внизу, будучи действительным, легче оставаться на вершине игры и быть максимально совместимым с самой широкой аудиторией.

ответил MrChrister 9 J000000Friday10 2010, 03:25:41
3

При запуске проверки подлинности вам нужно будет изучить ошибки, которые он дает вам в каждом конкретном случае. Валидация важна? Для меня это очень важно. Но это требование? Нет.

Такие вещи, как использование одного и того же идентификатора несколько раз (вместо класса), размещение элементов уровня блока внутри встроенных элементов (как правило, эти элементы не подходят так же семантически), отсутствие атрибутов alt на изображениях (низкая доступность для ослабленных) - все это важно. Вещи вроде неизвестных атрибутов в тегах NOT важны. Вообще. Рамочные структуры Javascript, такие как Dojo или этот ужасный медиа-бар Meebo, используют пользовательские атрибуты как крючки, а спецификация HTML заявляет, что они разрешены, и что любой неизвестный атрибут следует игнорировать. Валидатор не игнорирует их, однако он вызывает ошибки. Эти ошибки можно игнорировать.

При проверке не просто предполагайте, что если у вас есть ошибки, вы делаете это неправильно. Семантика гораздо важнее, и так получилось, что действительный HTML больше - чаще, чем не естественный результат наличия правильной семантики.

ответил Bryson 9 J000000Friday10 2010, 11:17:33
3

Одной из причин проверки вашего сайта для действительного HTML является то, что он гарантирует, что пауки поисковых систем смогут полностью индексировать и определять значение ваших страниц. Если они не могут этого сделать из-за искаженного HTML (что основные браузеры могут работать по историческим причинам), вы потенциально ограничиваете свой рейтинг в поисковых системах.

Также высказывалось предположение, что, хотя основные поисковые системы хорошо справляются с искаженным HTML, они могут также назначать качество «точек» качества страницы, что еще больше влияет на вашу способность оценивать так высоко, как ваш контент заслуживает.

ответил JasonBirch 10 J000000Saturday10 2010, 03:52:27
3

Лучший подход - узнать, какой неверный HTML-код плохой, и какой недействительный HTML не имеет значения.

Например, забыв закрыть тег <div> очень плохой , потому что ваш макет почти наверняка испортится в одном или нескольких браузерах.

Однако использование <br> вместо <br /> в XHTML не имеет значения - все браузеры будут интерпретировать как разрыв строки без проблем. Использование атрибута target для ссылок неверно, но в худшем случае браузер не открывает ссылку в новом окне.

ответил DisgruntledGoat 12 J000000Monday10 2010, 19:16:05
3

Я действительно не думаю, что это имеет значение. Раньше я был рабыней для проверки, теперь я редко его проверяю. Возможно, меня сожгли, убедившись, что мой сайт действительно, или, возможно, мне просто все равно, потому что никто не будет. Я могу гарантировать, что 99,9% наших посетителей даже не знают, что это такое, и даже заботятся, если они это сделают. Будущее программное обеспечение браузера может, но когда этот день наступит, я буду беспокоиться об этом тогда.

ответил 27 +04002010-10-27T22:06:01+04:00312010bEurope/MoscowWed, 27 Oct 2010 22:06:01 +0400 2010, 22:06:01
2

Валидация полезна, потому что она может помочь вам выявить некоторые труднодоступные ошибки, такие как

<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />

или непредсказуемое поведение браузера (например, размещение блочных элементов в a может иногда прерываться уродливыми способами в Firefox).

ответил Tgr 18 J000000Sunday10 2010, 12:09:40
2

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

ответил BradB 17 +04002010-10-17T05:21:11+04:00312010bEurope/MoscowSun, 17 Oct 2010 05:21:11 +0400 2010, 05:21:11
1

нет недостатка в наличии действительного html. есть причина, почему в первую очередь есть спецификация и почему в спецификацию вкладывается много усилий, чтобы определить, как все должно работать.

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

, поэтому, чтобы соответствовать спецификациям и писать допустимый html, это хорошо для вас, никаких недостатков.

ответил akira 9 J000000Friday10 2010, 08:00:57
1

Некоторые ошибки проверки HTML могут вызывать неочевидные проблемы с макетом (например, неправильно вложенные /незамкнутые теги), ошибки JavaScript (например, с помощью id более одного раза) и проблемы для некоторых пользователей (например, не включая значащий или пустой атрибут alt на изображениях).

Если все наши страницы проверяются, это хорошая автоматическая проверка, которую вы можете сделать, чтобы исключить источники ошибок. Если вы оставите некоторые ошибки проверки, потому что вы знаете, что они не причиняют никакого вреда, ваш чек больше не автоматизирован: вы должны посмотреть на каждую ошибку и помнить, что это нормально. Лично я предпочитаю, когда компьютеры сокращают объем работы, которую я должен выполнять, а не увеличивать ее.

ответил Paul D. Waite 17 J000000Saturday10 2010, 06:08:33
1

Один момент, о котором никто не упоминал, - это будущие разработки браузера. Хотя все современные браузеры обрабатывают неверную разметку относительно хорошо, это может быть не всегда так.

Производители браузеров в будущем будут обеспечивать, чтобы их браузеры работали со стандартами HTML /XHTML, так что это то, что должны делать сетевые разработчики. Просто потому, что конкретный бит недействительной разметки теперь не гарантирует, что он будет работать в будущих браузерах.

ответил Loftx 17 J000000Saturday10 2010, 10:45:06
1

Валидность помогает избежать несовместимости и помогает поддерживать код в рабочем состоянии. Браузеры восстанавливаются после ошибок разметки, но иногда очень неинтуитивно.


  • На основе DTD (HTML4, XHTML1 @ W3C) - не стоит этого. DTD является примитивным и, например, не может проверить достоверность большинства атрибутов. В основном вам будет сложно понять ошибки в отношении сущностей и вложенности.

  • валидатор HTML5 - Да . Определенно. HTML5 более прагматичен и позволяет некоторым безвредным конструкциям, которые раньше были ошибками. Валидатор OTOH Henri намного более основателен и лучше обнаруживает реальные проблемы.


Действительность кода, генерируемого JS, может иметь значение, поскольку браузеры работают с DOM, независимо от того, как он был создан. Если вы используете document.write(), тогда вам даже нужно позаботиться о правильности синтаксиса (он проходит через тот же парсер, что и источник страницы).

ответил Kornel 17 J000000Saturday10 2010, 16:03:29
1

Даже если ваш HTML работает во всех основных браузерах, это все равно стоит делать, поскольку иногда это может вызвать проблемы с поисковыми роботами, такими как googlebot. Например, см. Это:

http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx

ответил Mee 1 12010vEurope/Moscow11bEurope/MoscowMon, 01 Nov 2010 09:03:20 +0300 2010, 09:03:20
0

Google и Bing этого не делают, не имеют и никогда не будут использовать проверку CSS или HTML как фактор ранжирования.

Большинство веб-сайтов имеют десятки и сотни ошибок, и вам не нужно беспокоиться о них, потому что все поисковые системы заботятся о том, как выглядит страница. Просто убедитесь, что ваш сайт правильно отображается во всех основных браузерах и Google Fetch .

ответил Simon Hayter 29 Jam1000000amMon, 29 Jan 2018 01:07:27 +030018 2018, 01:07:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132