Jump to content
  • 0

валидация документов


Vlad
 Share

Question

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

Валидацией будем называть проверку документа на соответствие веб-стандартам и выявление существующих ошибок. Соответственно, валидным является такой веб-документ, который прошел подобную процедуру и не имеет замечаний по коду. Код веб-страницы должен подчиняться определенным правилам, которые называются спецификацией, ее разрабатывает W3 Консорциум (www.w3c.org) при поддержке разработчиков браузеров.

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

Плюсы валидации

Хотя HTML-код имеет достаточно простую иерархическую структуру, при разрастании объема документа в коде легко запутаться, следовательно, просто и совершить ошибку. Браузеры, несмотря на явно неверный код, в любом случае постараются отобразить веб-страницу. Но поскольку единого регламента не существует о том, как же должен быть показан "кривой" документ, каждый браузер пытается сделать это по-своему. А это в свою очередь приводит к тому, что один и тот же документ может выглядеть по-разному в популярных браузерах. Исправление явных промахов и систематизация кода приводит, как правило, к стабильному результату.

Тенденции

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

Не стоит забывать и об XML (eXtensible Markup Language, расширяемый язык разметки). Этот язык становится стандартом де-факто для хранения данных и обмена информацией между разными приложениями. Синтаксис XML более жесткий, чем HTML и не прощает малейших ошибок. В каком-то смысле XML похож на языки программирования, в которых программа не будет скомпилирована, пока код не отлажен. HTML является первой ступенькой к изучению XML, поэтому приучая себя писать код по всем правилам, будет легче перейти к следующему этапу развития HTML.

Мода на валидацию

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

Косвенные преимущества

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

Минусы валидации

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

Браузеры

Разработчики браузеров не всегда следуют спецификации и в некоторых случаях трактуют код не по заданным правилам, а по-своему. В конечном итоге это приводит к тому, что веб-страница, которая правильно (т.е. так, как и задумывали разработчики) отображается в одном браузере, выводится с ошибками в другом. Следование спецификации в подобных случаях, скорее всего, отпугнет пользователей некоторых браузеров. К примеру, Internet Explorer (IE) в настоящее время занимает лидирующее положение среди браузеров, но при этом поддерживает спецификацию HTML и CSS хуже, чем Firefox и Opera. Ясен перец, что пользователи IE при посещении сайта выполненного по всем стандартам, но не учитывающего специфику этого браузера, увидят неприглядную картину.

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

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

Резюме

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

Link to comment
Share on other sites

  • Answers 84
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0
» А не подскажите как решить сию проблему

witek, просто нужно добавить ссылка на rss в код. Ну или сразу ссылку в поле на том сайта сайте чтобы проверить.

Если есть конечно ссылка.

Где именно прописать ссылку на rss в index.php?И почему одна страница сайта проходит валидность Валидность

Link to comment
Share on other sites

  • 0

ссылку нужно прописывать между <head></head>

например на вашем сайте есть ссылка Статьи и у ней указана ссылка на rss

<link href="/index.php?option=com_content&view=frontpage&Itemid=1&format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />

поэтому и проходит валидность одна страница.

Link to comment
Share on other sites

  • 0

Подскажите как убрать ошибки ссылка на валидатор http://validator.w3.org/check?uri=http://c...C_Validator/1.1

Код документа

<?php
// no direct access
defined('_JEXEC') or die('ДоÑтуп запÑ?ещен');

$label = $params->get( 'label', 0);
$buttontext = $params->get( 'submit_button_text', 0);
$canceltext = $params->get( 'clear_button_text', 0);
$resulttext = $params->get( 'resulttext', 0);
$checkall = $params->get( 'checkall', 0);
$pretext = $params->get( 'pretext', 0);
$colorfree = $params->get( 'colorfree', 0);
$colortaken = $params->get( 'colortaken', 0);
$free = $params->get( 'free', 0);
$taken = $params->get( 'taken', 0);
$alert_empty = $params->get( 'alert_empty', 0);
$alert_no_checked= $params->get( 'alert_no_checked', 0);

$sg_domain1 = $params->get( 'sg_domain1', 0);
$sg_break1 = $params->get( 'sg_break1', 0);
$sg_domain2 = $params->get( 'sg_domain2', 0);
$sg_break2 = $params->get( 'sg_break2', 0);
$sg_domain3 = $params->get( 'sg_domain3', 0);
$sg_break3 = $params->get( 'sg_break3', 0);
$sg_domain4 = $params->get( 'sg_domain4', 0);
$sg_break4 = $params->get( 'sg_break4', 0);
$sg_domain5 = $params->get( 'sg_domain5', 0);
$sg_break5 = $params->get( 'sg_break5', 0);
$sg_domain6 = $params->get( 'sg_domain6', 0);
$sg_break6 = $params->get( 'sg_break6', 0);
$sg_domain7 = $params->get( 'sg_domain7', 0);
$sg_break7 = $params->get( 'sg_break7', 0);
$sg_domain8 = $params->get( 'sg_domain8', 0);
$sg_break8 = $params->get( 'sg_break8', 0);
$sg_domain9 = $params->get( 'sg_domain9', 0);
$sg_break9 = $params->get( 'sg_break9', 0);
$sg_domain10 = $params->get( 'sg_domain10', 0);
$sg_break10 = $params->get( 'sg_break10', 0);
$sg_domain11 = $params->get( 'sg_domain11', 0);
$sg_break11 = $params->get( 'sg_break11', 0);
$sg_domain12 = $params->get( 'sg_domain12', 0);
$sg_break12 = $params->get( 'sg_break12', 0);
$sg_domain13 = $params->get( 'sg_domain13', 0);
$sg_break13 = $params->get( 'sg_break13', 0);
$sg_domain14 = $params->get( 'sg_domain14', 0);
$sg_break14 = $params->get( 'sg_break14', 0);

if ($pretext != "") { ?>
<div style="margin-bottom:8px">
<?php echo $pretext ?>
</div>
<?php } ?>
<script type="text/javascript" src="<?=JURI::base();?>modules/mod_check_domain_denver/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$jdm = jQuery.noConflict();

function check_domain (name_form)
{
if ($jdm('#domainname').val() == '' || $jdm('#domainname').val() == '<?=$label;?>')
{
alert ('<?=$alert_empty;?>');
$jdm('#domainname').focus();
return;
}
var col_checked = 0;
for (var i=0; i < name_form['domains[]'].length; i++)
if (name_form['domains[]'][i].checked)
col_checked++;
if (col_checked == 0)
{
alert ('<?=$alert_no_checked;?>');
return;
}
$jdm("#result_check_domain").hide().fadeOut(200).html('<div style="text-align:center">Идет пÑ?овеÑ?ка, ждите...<img src="<?=JURI::base();?>modules/mod_check_domain_denver/bt.gif" alt=""/></div>').fadeIn(200);
$jdm.post("<?=JURI::base();?>modules/mod_check_domain_denver/respond.php",
{
domainname: $jdm('#domainname').val(),
domain_com: ($jdm('#domain_com').attr("checked") == true ? "1" : "0"),
domain_net: ($jdm('#domain_net').attr("checked") == true ? "1" : "0"),
domain_info: ($jdm('#domain_info').attr("checked") == true ? "1" : "0"),
domain_org: ($jdm('#domain_org').attr("checked") == true ? "1" : "0"),
domain_biz: ($jdm('#domain_biz').attr("checked") == true ? "1" : "0"),
domain_edu: ($jdm('#domain_edu').attr("checked") == true ? "1" : "0"),
domain_name: ($jdm('#domain_name').attr("checked") == true ? "1" : "0"),
domain_mobi: ($jdm('#domain_mobi').attr("checked") == true ? "1" : "0"),
domain_us: ($jdm('#domain_us').attr("checked") == true ? "1" : "0"),
domain_tv: ($jdm('#domain_tv').attr("checked") == true ? "1" : "0"),
domain_su: ($jdm('#domain_su').attr("checked") == true ? "1" : "0"),
domain_ru: ($jdm('#domain_ru').attr("checked") == true ? "1" : "0"),
domain_spbru: ($jdm('#domain_spbru').attr("checked") == true ? "1" : "0"),
domain_mskru: ($jdm('#domain_mskru').attr("checked") == true ? "1" : "0"),
resulttext: "<?=$resulttext;?>", colorfree: "<?=$colorfree;?>", colortaken: "<?=$colortaken;?>",
free: "<?=$free;?>", taken: "<?=$taken;?>"
},
function(data){
$jdm('#result_check_domain').hide().html(data).show(200);
});
}

function clear_form_domain (name_form)
{
$jdm('#domainname').val('<?=$label;?>');
for (var i=0; i < name_form['domains[]'].length; i++)
name_form['domains[]'][i].checked = false;
$jdm('#result_check_domain').hide(200).html('');
}
</script>


<script type="text/javascript">
function MarkALL(name_form, chk)
{
for (var i=0; i < name_form['domains[]'].length; i++)
name_form['domains[]'][i].checked = chk;
}
</script>

<div id="main">
<form action="<?php echo $forwardurl ?>" method="post" name="domain" id="domain">
<div style="margin-top:8px; margin-bottom:8px">
<input class="text" id="domainname" name="domainname" type="text" value="<?=$label;?>" onblur="if(this.value=='') this.value='<?=$label;?>';" onfocus="if(this.value=='<?=$label;?>') this.value='';" />
</div>
<div style="margin-top:8px; margin-bottom:8px">
<div style="margin-bottom:8px">
<input type="checkbox" name="all" onclick="MarkALL(domain, this.checked)"/> <?php echo $checkall ?>
</div>

<?php if ($sg_domain1 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_com\" name=\"domains[]\" value=\"1\" /> .com\n";
if ($sg_break1 == "yes")
echo "<br />";
}
if ($sg_domain2 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_net\" name=\"domains[]\" value=\"1\" /> .net\n";
if ($sg_break2 == "yes")
echo "<br />";
}
if ($sg_domain3 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_info\" name=\"domains[]\" value=\"1\" /> .info\n";
if ($sg_break3 == "yes")
echo "<br />";
}
if ($sg_domain4 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_org\" name=\"domains[]\" value=\"1\" /> .org\n";
if ($sg_break4 == "yes")
echo "<br />";
}
if ($sg_domain5 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_biz\" name=\"domains[]\" value=\"1\" /> .biz\n";
if ($sg_break5 == "yes")
echo "<br />";
}
if ($sg_domain6 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_edu\" name=\"domains[]\" value=\"1\" /> .edu\n";
if ($sg_break6 == "yes")
echo "<br />";
}
if ($sg_domain7 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_name\" name=\"domains[]\" value=\"1\" /> .name\n";
if ($sg_break7 == "yes")
echo "<br />";
}
if ($sg_domain8 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_mobi\" name=\"domains[]\" value=\"1\" /> .mobi\n";
if ($sg_break8 == "yes")
echo "<br />";
}
if ($sg_domain9 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_us\" name=\"domains[]\" value=\"1\" /> .us\n";
if ($sg_break9 == "yes")
echo "<br />";
}
if ($sg_domain10 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_tv\" name=\"domains[]\" value=\"1\" /> .tv\n";
if ($sg_break10 == "yes")
echo "<br />";
}
if ($sg_domain11 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_su\" name=\"domains[]\" value=\"1\" /> .su\n";
if ($sg_break11 == "yes")
echo "<br />";
}
if ($sg_domain12 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_ru\" name=\"domains[]\" value=\"1\" checked=\"checked\" /> .ru\n";
if ($sg_break12 == "yes")
echo "<br />";
}
if ($sg_domain13 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_spbru\" name=\"domains[]\" value=\"1\" checked=\"checked\" /> .spb.ru\n";
if ($sg_break13 == "yes")
echo "<br />";
}
if ($sg_domain14 == "yes")
{
echo "<input type=\"checkbox\" id=\"domain_mskru\" name=\"domains[]\" value=\"1\" checked=\"checked\" /> .msk.ru\n";
if ($sg_break14 == "yes")
echo "<br />";
}
?>
</div>
<input class="button" type="button" value="<?php echo $buttontext; ?>" onclick="check_domain(domain);" />
<input class="button" type="button" value="<?php echo $canceltext; ?>" onclick="clear_form_domain(domain);" />
</form>
<div id="result_check_domain"></div>



</div>

Link to comment
Share on other sites

  • 0
Код документа

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

Дайте тот исходник, который видит браузер (и валидатор, соотв-но). Без всяких там <?php?>, <%ASP%> и прочих серверных полуфабрикатов.

Edited by SelenIT
Link to comment
Share on other sites

  • 0
Фиг там. Это исходник скрипта, генерирующего код документа. Валидатора он интересует не больше, чем посетителя ресторана — цвет скорлупы яиц, из которых делается заказанный им омлет.

Дайте тот исходник, который видит браузер (и валидатор, соотв-но). Без всяких там <?php?>, <%ASP%> и прочих серверных полуфабрикатов.

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

попробывал вынести во внешний файл jquery5.js код

<script type="text/javascript">
$jdm = jQuery.noConflict();

function check_domain (name_form)
{
if ($jdm('#domainname').val() == '' || $jdm('#domainname').val() == '<?=$label;?>')
{
alert ('<?=$alert_empty;?>');
$jdm('#domainname').focus();
return;
}
var col_checked = 0;
for (var i=0; i < name_form['domains[]'].length; i++)
if (name_form['domains[]'][i].checked)
col_checked++;
if (col_checked == 0)
{
alert ('<?=$alert_no_checked;?>');
return;
}
$jdm("#result_check_domain").hide().fadeOut(200).html('<div style="text-align:center">Идет пÑ?овеÑ?ка, ждите...<img src="<?=JURI::base();?>modules/mod_check_domain_denver/bt.gif" alt=""/></div>').fadeIn(200);
$jdm.post("<?=JURI::base();?>modules/mod_check_domain_denver/respond.php",
{
domainname: $jdm('#domainname').val(),
domain_com: ($jdm('#domain_com').attr("checked") == true ? "1" : "0"),
domain_net: ($jdm('#domain_net').attr("checked") == true ? "1" : "0"),
domain_info: ($jdm('#domain_info').attr("checked") == true ? "1" : "0"),
domain_org: ($jdm('#domain_org').attr("checked") == true ? "1" : "0"),
domain_biz: ($jdm('#domain_biz').attr("checked") == true ? "1" : "0"),
domain_edu: ($jdm('#domain_edu').attr("checked") == true ? "1" : "0"),
domain_name: ($jdm('#domain_name').attr("checked") == true ? "1" : "0"),
domain_mobi: ($jdm('#domain_mobi').attr("checked") == true ? "1" : "0"),
domain_us: ($jdm('#domain_us').attr("checked") == true ? "1" : "0"),
domain_tv: ($jdm('#domain_tv').attr("checked") == true ? "1" : "0"),
domain_su: ($jdm('#domain_su').attr("checked") == true ? "1" : "0"),
domain_ru: ($jdm('#domain_ru').attr("checked") == true ? "1" : "0"),
domain_spbru: ($jdm('#domain_spbru').attr("checked") == true ? "1" : "0"),
domain_mskru: ($jdm('#domain_mskru').attr("checked") == true ? "1" : "0"),
resulttext: "<?=$resulttext;?>", colorfree: "<?=$colorfree;?>", colortaken: "<?=$colortaken;?>",
free: "<?=$free;?>", taken: "<?=$taken;?>"
},
function(data){
$jdm('#result_check_domain').hide().html(data).show(200);
});
}

function clear_form_domain (name_form)
{
$jdm('#domainname').val('<?=$label;?>');
for (var i=0; i < name_form['domains[]'].length; i++)
name_form['domains[]'][i].checked = false;
$jdm('#result_check_domain').hide(200).html('');
}
</script>

а в документе вместо него прописал строку

<script type="text/javascript" src="<?=JURI::base();?>modules/mod_check_domain_denver/jquery5.js"></script>

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

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

Дайте тот исходник, который видит браузер (и валидатор, соотв-но). Без всяких там <?php?>, <%ASP%> и прочих серверных полуфабрикатов.

вот строки с валидатора на которые он ругается

$jdm("#result_check_domain").hide().fadeOut(200).html('<div style="text-align:center">Идет проверка, ждите...<img src="http://clickok.ru/modules/mod_check_domain_denver/bt.gif" alt=""/></div>').fadeIn(200);

for (var i=0; i < name_form['domains[]'].length; i++)

Edited by witek
Link to comment
Share on other sites

  • 0
там 748 строк, а править то мне в коде что я запостил.

Для таких случаев у валидатора есть опция "Validate document fragment"

модуль на сайте отказывается работать

Логично, там же php-вставки...

Чисто формально можно добиться валидности, обернув код скрипта в CDATA-секцию. Но сугубо имхо это героическое пробивание лбом стены в метре от открытой двери: я почти уверен, что эта страница не будет отдаваться с XML-ным типом контента, а с обычным типом контента браузерам глубоко без разницы, XHTML там или обычный HTML. Смена доктайпа на <!DOCTYPE HTML> решила бы проблему куда быстрее и радикальнее. Но навязывать не стану :)

Link to comment
Share on other sites

  • 0
Для таких случаев у валидатора есть опция "Validate document fragment"

Логично, там же php-вставки...

Чисто формально можно добиться валидности, обернув код скрипта в CDATA-секцию. Но сугубо имхо это героическое пробивание лбом стены в метре от открытой двери: я почти уверен, что эта страница не будет отдаваться с XML-ным типом контента, а с обычным типом контента браузерам глубоко без разницы, XHTML там или обычный HTML. Смена доктайпа на <!DOCTYPE HTML> решила бы проблему куда быстрее и радикальнее. Но навязывать не стану :)

Спасибо за помощь,закоментировал тегом CDATA,валидность прошёл и модуль работает на сайте

Link to comment
Share on other sites

  • 0

Ну вам четко обрисовали, что id у вас уже использовался выше(в качестве справки хочется заметить что id в отличии от class задумался как уникальный идентификатор элемента, это означает что в ряде случаев у вас могут возникнуть проблемы связанные именно с этим). Так же там валидатор ругается на неизвестный атрибут...

Link to comment
Share on other sites

  • 0
А мне подумалось Mr Loga в курсе что к чему, это либо чужая работа, либо он ржот над тупой ошибкой. :facepalmxd:

Простите, не та ссылка,

Вот эта

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

Link to comment
Share on other sites

  • 0

Интересно за сколько времени можно исправить все ошибки и те 544 предупреждения, чисто так, ради спортивного интересу? :)

p.s. а что за emoid=":facepalmxd:" ?

Edited by deadrash
Link to comment
Share on other sites

  • 0

Вот что интересно в свете последних веяний:

если whatwg открещивается от w3c и отделяет свой html от w3c'шного html5, который будет принят в нереальном году, то как теперь расово-верно поступать с валидацией?

Таки самизнаетекто прав оказался? Лучший валидатор — это браузер?

Ведь w3c явно не сумеет сделать валидатор для «живого» стандарта html.

Link to comment
Share on other sites

  • 0

Таки походу прав. По крайней мере лисичка уже показывает незакрытый тег.

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

Edited by deadrash
Link to comment
Share on other sites

  • 0

Вопрос касательно валидации. С валидацией HTML все понятно и просто, без невалидных и переходных тегов и их значений можно обойтись. То с CSS все гораздо интереснее.

Вопрос следующий: в какой форме записать вендорные префиксы что бы сделать их валидными ? Может есть аналог условных комментариев для этих целей ?

Link to comment
Share on other sites

  • 0

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

P.S. привет почти тёзке ;)

Link to comment
Share on other sites

  • 0
Валидность CSS — чистая условность. Если для разметки валидность еще как-то где-то связана с корректностью DOM и т.п., то для CSS важно лишь формальное соблюдение синтаксиса (гарантия того, что этот код правильно распарсят и нынешние, и будущие браузеры), а полное соответствие какому-то раз и навсегда зафиксированному словарю напрочь не надо, спецификация CSS живая и динамично развивающаяся, словарь постоянно расширяется, валидатор за всем закономерно поспеть не может. Если вендорные префиксы — единственное, на что ругается валидатор, это просто замечательно. Уже давно разработчики просят W3C, чтоб префиксы вообще не учитывались при валидации, но пока дойдет до дела...

P.S. привет почти тёзке :)

И тебе привет ;) Значит парится по этому поводу не буду. Но все равно жалко, значок о валидном CSS на сайт не повесишь, эх))

Link to comment
Share on other sites

  • 0

Господа!) Вопрос касался валидации вендорных префиксов. А касательно значка - это был стеб) Цеплять значок валидации на невалидную страничку, это тоже самое, что клеить ярлык БЕЗ ГМО на продукт с ГМО))) Для посетителя, действительно, не имеет значение валиден код страницы или нет. А тем более, подтверждено это банером или нет))

Link to comment
Share on other sites

  • 0
Господа!) Вопрос касался валидации вендорных префиксов. А касательно значка - это был стеб) Цеплять значок валидации на невалидную страничку, это тоже самое, что клеить ярлык БЕЗ ГМО на продукт с ГМО))) Для посетителя, действительно, не имеет значение валиден код страницы или нет. А тем более, подтверждено это банером или нет))

О прикольно! Если дойдут руки сдлеать себе сайт обязательно добавлю логотип "БЕЗ ГМО" =)))

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy