Подтвердить что ты не робот

Насколько важно следовать веб-стандартам?

Недавно я узнал, что большинство основных веб-сайтов вызывают разметку W3C и тесты проверки CSS. Поэтому, насколько важно соблюдать веб-стандарты?

4b9b3361

Ответ 1

СТАНДАРТЫ!

Немного истории

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

Знаете ли вы, что W3C пытался разработать XHTML 2 стандарт? Если бы это получилось, это не будет обратно совместимо с предыдущими версиями HTML. Фактически, восстание сформировалось в W3C и закончилось группой, которая просто частично способствовала созданию WHATWG. WHATWG - настоящие магические умы HTML5.

Вы когда-нибудь спрашивали себя, почему требуется столько времени, чтобы получить стандарты от WC3? Способ работы WC3 очень демократичен. Они обсуждают все, пока все не согласятся. WHATWG делает это с небольшим завихрением: вопросы поднимаются и обсуждаются, но последнее слово принадлежит редактору. Чтобы процитировать Джереми Кит:" Пока HTML5 разрабатывался на WHATWG, W3C продолжил работу над XHTML 2. Было бы неточно сказать, что он никуда не горит, он никуда не годится, очень медленно ".

В итоге получилось, что W3C удалил XHTML 2 и вместо того, чтобы идти с нуля, они приняли решение работать с WHATWG, в конце концов.


Возвращение разметки спагетти

В то время как HTML5 уже не является строгим, как XHTML, это не означает, что больше нет хороших методов кодирования. HTML5 не является машинным. В отличие от XHTML 2, он основывается на существующих спецификациях (поддерживает существующий контент).

Прежде всего, арбитры, стоящие за спецификациями, являются разными поставщиками браузеров. Вы когда-нибудь видели проприетарные элементы CSS с webkit (Safari, Chrome), moz (Firefox) или o (Opera)? Это на самом деле нормально, потому что это означает, что вендоры работают над предстоящими спецификациями, а иногда и по функциональным возможностям, которые не соответствуют спецификациям. Некоторое время Microsoft имела менталитет быть выше стандартов, потому что они обладали монополией на общие ресурсы браузера и создали свои собственные элементы CSS. Microsoft создала элементы CSS, такие как filter, и все же мы находим что-то своеобразное. Есть две рекомендации для спецификаций, которые представляют собой два разных способа игры с непрозрачностью в CSS: RGBA в цветовом элементе и элементе прозрачности.


Значение стандартов

Чтобы закончить, я бы сказал, что веб-дизайнеры/разработчики несут большую ответственность за то, чтобы оставаться в курсе того, что происходит с точки зрения технологий и стандартов, таких как HTML5. Это не означает, что вы читаете каждую спецификацию. Я согласен, что это будет долгим и скучным. На самом деле, читайте книги по этому предмету, следуйте за блогами разработчиков браузера и развлекайтесь время от времени, пытаясь исправить ситуацию. Я больше не согласен со следующими 100% всех веб-стандартов, потому что всегда будут исключения. Я предпочитаю использовать хорошие методы кодирования, которые помогут разработчикам, но в то же время они будут дружественными браузерам. Важно понимать, что HTML5 основывается на существующих стандартах и ​​создается для поддержки существующего контента.

Последнее мнение: http://dowebsitesneedtobeexperiencedexactlythesameineverybrowser.com/

Ответ 2

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

Но да, просто сделай это. Почему бы вам не быть?

Ответ 3

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

Ваш средний владелец бизнеса обычно говорит "кто заботится", как OP. Мой самый эффективный ответ до сих пор заключался в том, что "бот Google - это не что иное, как слепой конечный пользователь. Не хотите ли вы, чтобы он эффективно отображал ваш сайт?"

Ответ 4

Если вы соблюдаете стандарты, любые ошибки компоновки будут намного легче отлаживать. Когда вы игнорируете стандарты, браузер может отображать вашу страницу, как бы это ни казалось, и изменение одного символа может полностью изменить способ отображения вашей страницы. Отладка одного браузера сложная, но отладка IE 7, IE 6, Firefox, Opera, Safari... и игнорирование стандартов просто затруднит вашу жизнь.

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

Итак, не тратьте свое время. Убедитесь, что вы пишете допустимые HTML и CSS. Это действительно очень просто и сэкономит вам время.

Ответ 5

Вы можете использовать простые правила, которые применяются к html, css, c, java... что-либо.

Придерживайтесь стандартов, если у вас нет веских оснований игнорировать их. Если вы не придерживаетесь стандартного документа, почему бы и нет.

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

Всякий раз, когда вы чувствуете, что вам приходится игнорировать стандарты, вы должны написать примечание ПОЧЕМУ вы это сделали, так что вы или другой разработчик, который сталкивается с куском html (или кода CMS), знают, что это НЕ ошибка.

И да, иногда "хорошая причина" - это крайний срок или разбитый сервер. Пока вы документируете, все в порядке.

Дополнительно: Если написать нестандартный html (или код), который не соответствует стандарту, это исключение, так как вы привыкли писать чистый код.

Ответ 6

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

Ответ 7

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

Вы? Вы готовы потратить на это свои деньги?

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

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

Тогда есть инструменты, которые вы сами нас. Удастся ли jQuery или другим javascript-библиотекам выяснить ваш странный нестандартный DOM? Может быть, может и нет. Будет ли версия на следующей неделе? Кто знает?

И, наконец, какова стоимость? Это не так сложно написать совместимый HTML/CSS. Для выяснения некоторых трюков CSS требуется определенная практика, чтобы не полагаться на устаревший или нестандартный HTML, но как только вы это поняли, его так же легко написать, как ваш типичный неряшливый нестандартный код. И, конечно же, это может даже облегчить задачу, поскольку позволяет при значительном использовании инструментов, таких как HTML-валидатор, при отладке. Трудно использовать это для чего-нибудь полезного, если ваш сайт содержит 50 ошибок HTML в любом случае. Какой из них, если таковой имеется, связан с проблемой, которую вы пытаетесь исправить?

Ответ 8

Короче - очень. Для целей кросс-платформенной и кросс-браузерной совместимости важно.

Вам нужно следовать за ними в T? Если вы этого не сделаете, вы, вероятно, будете в порядке.

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

На мой взгляд - нет причин не следовать строгим стандартам в отношении нового проекта.

Ян

Ответ 9

В качестве побочного примечания - это не большое усилие следовать веб-стандартам. Когда вы привыкнете к этому, вы быстро заметите, сколько усилий это не сделать. Использование веб-stadnards обычно производит LESS-код (= меньше времени на запись), код MORE READABLE и "будущий" код по сравнению с любой старой макетной техникой oldschool, которую вы хотите использовать вместо этого.

Ответ 10

Если все работает во всех браузерах, которые вы хотите поддержать, это действительно не так важно, что HTML-код действительно проверяет. Для XHTML важна : использование XHTML подразумевает, что вы хотите, чтобы ваш код читался с помощью синтаксических анализаторов XML, поэтому все, что недопустимо, XHTML не должно быть объявлено как таковое.

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

Ответ 11

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

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

Но... не все HTML будут проверяться. Самый важный, хотя и не единственный случай, вероятно, HTML5. В CSS префиксы поставщиков также не будут проверяться. Означает ли это, что вы не должны их использовать? Совсем нет!

Службы валидации - это отличная вещь, чтобы найти это ошибочное имя атрибута, закрытый тег, отсутствующую точку с запятой или тег <br> с доктриной XHTML. Я бы не беспокоился о элементах, которые не проверяются только потому, что валидатор не знает, что делает тэг <video>. Это все еще правильно.

Ответ 12

Я нахожу, что проверка HTML может быть удобной до точки.

После этой точки (т.е. когда валидация переходит из здравого смысла), это становится помехой, Я считаю, что валидация - очень полезный инструмент РАЗВИТИЯ, но нет необходимости соответствовать 100%, Например, спецификация XHTML Strict обесценивает селектор target="", тем самым делая его недействительным, но он по-прежнему отлично работает, для достижения того же действия без использования вышеуказанного кода необходим код javascript для эффекта:

jQuery(document).ready(function($) {
    $('a').each(function(){
        if (($(this).attr('rel')=='external') || 
            ($(this).attr('rel')=='nofollow')) 
        {
             $(this).attr('target','_blank');
        }
    });
});

Теперь, чтобы реализовать выше, а не простой target="" игнорировать логику и хорошее программирование, CSS, с другой стороны, обычно должен проверять, но есть исключения; браузерные хаки и теги, специфичные для вендора, которые в текущем клиенте браузера являются необходимым злом, это сделает ваш код недействительным, но он будет работать в большинстве основных браузеров, так что это действительно зависит от вас, вы можете пойти на 100% соответствия и прыгать через обручи, чтобы иметь хороший маленький значок на вашем сайте, который говорит "XHTML Valid" или "HTML5 Valid" или что-то еще, или вы можете иметь аккуратный, функциональный и чистый кодированный сайт, который просто работает.

P.S. Прежде чем я начну пылать и называю лицемерным да, у меня есть один на моем личном сайте, но мой код в настоящее время недействителен.

Дальнейшее чтение: http://net.tutsplus.com/articles/general/but-it-doesnt-validate/

Ответ 13

В конечном счете, стандарт подразумевает удобство для разработчиков. Будучи "стандартным", он действует как прокси для набора разрозненных требований, поэтому, если вы следуете стандарту:

  • знать, что ваш код будет работать в разных технологиях (браузер, платформы, версии)
  • знать, что ваш код будет работать для разных людей (доступность)
  • клиент принимает ваш код на основе этого факта (проект требует соблюдения стандартов)
  • другие вещи, о которых я не думаю

Трек "экономии времени" для веб-стандартов довольно неоднозначен: мы часто часами боремся, чтобы получить подтверждение, только чтобы узнать, что браузеры не поддерживают стандарты. Для меня получение страниц для проверки обычно экономит время.

Вернемся к вопросу: когда их использовать. Здесь мой прагматичный подход: взгляните на ваши требования (с точки зрения браузеров, платформ, версий, доступности). Сравните подход, нацеленный на всех тех, кто стремится к стандарту плюс все, что не соответствует стандартам. Добавляет ли "стандарт" в список требований, чтобы сэкономить ваше время, или просто добавить еще одно бремя для завершения проекта?

Ответ 14

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

Ответ 15

Единственными причинами, по которым разработчики веб-сайтов традиционно не следовали веб-стандартам, являются: (1) незнание стандартов вообще или (2) создание нестандартных браузеров (* cough IE cough) делают классные вещи. Но Internet Explorer в последнее время значительно продвигается к совместимости стандартов, поэтому разум (2) становится все менее и менее актуальным, и вы, очевидно, не подвержены разуму (1), так почему бы не написать стандартно-совместимые веб-сайты? Как говорили другие, это сделает ваш код намного легче отлаживать, потому что вам нужно работать только с одним стандартом, а не с несколькими различными браузерами.

Ответ 16

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

Ответ 17

Хорошо, как вы сказали, большинство крупных веб-сайтов не соответствуют стандарту, поэтому, если вы хотите большой сайт, вам лучше не следовать стандартам.:)

Но нет, лучше следовать стандартам, потому что это даст вам самое большое изменение, которое ваш сайт будет функционировать в большинстве браузеров, и будет продолжать работать в большинстве будущих браузеров слишком долгое время.

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

Итак, хотя лучше всего следовать стандартам в целом, всегда может быть одно или два исключения...

Ответ 18

Кто-нибудь здесь использует Hotmail? Вы когда-нибудь замечали, что с каждой крупной версией Firefox Microsoft должна вернуться и внести изменения на свой сайт Hotmail, чтобы они не остались в последней версии Firefox?

Неужели они должны были это сделать, если бы разработчики соблюдали стандарты? Сколько времени и денег они сохранят? Сколько из этого времени/денег они могли бы инвестировать в новые технологии или новые функции?

Вы говорите, что большинство основных веб-сайтов терпят неудачу в тестах W3C и тестах проверки CSS. Посмотрите на большинство веб-сайтов. Они выглядят современно? Они выглядят как те, которые подтверждают? Являются ли они первыми, кто реализует последние и самые лучшие функции, или они придерживаются старых и устаревших технологий, лихорадочно и неустанно пытаясь сохранить карточный домик и надеясь, что ветры перемен не свалит его?

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

Ответ 19

Стандарты W3C очень полезны, но они являются средством достижения цели, а не самоцелью. Конечной целью этих стандартов является совместимость между браузерами, что очень важно. Стандарты на W3C являются вторыми, чтобы убедиться, что ваше приложение работает правильно во всех браузерах, которые будут использоваться вашей аудиторией. Веб-стандарты также приобретают большую ценность, когда вы держите SEO в виду. Соблюдение стандартов сделает ваш сайт более заметным для людей, не являющихся людьми, поэтому, если видимость поисковой системы вас беспокоит, веб-стандарты также должны быть. Это не может быть большой проблемой для "основных веб-сайтов" (поскольку они уже установлены в поисковых системах), но может быть для вас.

Итак, веб-стандарты важны для совместимости с несколькими браузерами и для поисковой оптимизации.

Ответ 20

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

Ответ 21

Перерыв всех стандартов, которые вы хотите, если вы хотите выполнить свой проект "СЕЙЧАС".

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

Ответ 22

Вот мой вопрос по этому вопросу.

Во-первых, я займу этот бит:

"Недавно я узнал, что большинство основных веб-сайтов терпят неудачу в тестах на разметку W3C и CSS. Поэтому [...]"

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

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

"[...] насколько важно соблюдать веб-стандарты?

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

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

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

1) "явно просил не делать этого"? Что на Земле это значит. Это означает, что можно создать веб-сайт, который работает во всех браузерах без соблюдения стандартов. Google очень намеренно использует очень странную надпись на своей странице поиска, как описано в этой статье:

http://www.stevefenton.co.uk/Content/Blog/Date/201008/Blog/Google-Deliberately-Write-Awful-HTML/