Върнете се към BgLOG | Профил | Публикации
всички ключови думи
HTML е ранният език за презентация на текстова инфорамация в Интернет. Този език не е строг и смесва структурата с представянето. При него може да се отвори даден елемент и да не се затвори, други елементи нямат нужда от затваряне, а някои е задължително да се затварят. Това може да породи проблем при някои браузъри, които да не знаят как да интрепретират HTML кода, въпреки че това не е грешка според HTML спецификацията. Достъпност може да се постигне и чрез HTML, но ако искате сайта ви да бъде съвместим с всички бъдещи устройства, е добре да се насочите към XHTML. Правилата по-нататък за подобряване на достъпноста са валидни, както за HTML така и за XHTML.
Независимо, дали ще използваме XHTML или още не сме готови да преминем към него (примерно имаме голям сайт, който е написан на HTML), можем да извлечем полза от междинно маркиране (използващо стари и нови техники), което да ни подготви за прехода след време.
XHTML е структурен език базиран на XML, който се държи като HTML, с няколко малки но съществени разлики. Синтаксисът е по-строг и са премахнати някои презентационни елементи от HTML. За браузърите и другите потребителски агенти XHTML работи по същия начин като HTML, но някои по-усъвършенствани съвременни браузъри могат да го третират малко по-различно. За дизайнерите, писането на XHTML код е почти същото, като писането на HTML код, но с използването на малко по-строги правила и един или два нови елемента. XHTML насърчава структурното маркиране.
За преминаване от HTML към XHTML е нужно да се спазят някои правила:
Елементът DOCTYPE, в началото на документа, указва на браузера, как да инерпретира този документ, а на услугите за валидиране — начина, по който да проверяват за съвместимост. DOCTYPE е съкратено от documemt type, кето значи документен тип.
documemt type
документен тип
XHTML предлага три избора за дефиниция за типа на документа:
За нуждите на достъпността няма да навлизаме в подробности за начина на деклариране на документен тип — само ще запомним един ред, който трябва да се добавя в началото на файла преди главния елемент <html>.
Ако използваме XHTML за маркирането на страницата, нужните редове за документен тип и пространства от имена са следните:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Ако използваме HTML за маркирането на страницата, нужният ред за документен тип е следния:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
За да бъдат корекно интерпретирани от браузърите, всички XHTML документи трябва да декларират типа на кодирането на символите, което е използвано. За момента има три начина това да стане.
Това е препоръчван начин, в който първия ред в един XML документ, указва кодирането и версията на XML, която ползваме.
<?xml version encoding="utf-8">
За съжаление този метод не винаги работи, затова за момента е добре да го пропускаме. В някои случаи сайтът може да не се визуализира правилно в следствие на ползването му.
За момента това е работещият и наложил се като страндартен метод за указване на кодировката. В заглавната част на XHTML документа се вмъква елемент "Content-Type".
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
Това също е препоръчван метод, но не винаги можем да имаме контрол над сървъра, затова е се препоръчва да ползвате гореописания метод.
В HTML няма значение регистъра на буквите при елементите и атрибутите. Имате свобода да използвате както големи, така и малки букви и това ще бъде правилно. Това е една от разликите между HTML и XHTML. В XHTML, като базиран на XML език, всички елементи трябва да са в долен регистър. Дори и да пишете на HTML,а не на XHTML, писането в долен регистър ще спести бъдещи усилия при евентуалното преминаване към XHTML.
Следния пример е валиден HTML, но не е валиден XHTML:
<HTML> <HEAD> <TITLE> Достъпност в Интернет </TITLE> </HEAD> <BODY> <P class="normalText"> Текст на документа </P> </BODY> </HTML>
<HTML>
<HEAD>
<TITLE> Достъпност в Интернет </TITLE>
</HEAD>
<BODY>
<P class="normalText"> Текст на документа </P>
</BODY>
</HTML>
За да го направим валиден XHTML, трябва да променим всички елементи в долен регистър:
<html> <head> <title> Достъпност в интернет </title> </head> <body> <p class="normalText"> Текст на документа </p> </body> </html>
<html>
<head>
<title> Достъпност в интернет </title>
</head>
<body>
<p class="normalText"> Текст на документа </p>
</body>
</html>
Нужно е да обърнем внимание, че текстът в елементите и стойностите на атрибутите може да са, както в горен, така и в долен регистър.
Докато при HTML има свобода за това дали да се поставят кавички на стойностите на атрибутите, при XHTML е задължително да има кавички. В HTML можем да напишем:
<p class=normalText> Текст на документа </p>
В XHTML сме задължени да напишем:
В HTML можем да напишем:
<td nowrap> <input type="checkbox" checked> <hr noshade>
<td nowrap>
<input type="checkbox" checked>
<hr noshade>
В XHTML всички атрибути трябва да имат стойност, като за тези атрибути, които в HTML нямат стойност, стойноста съвпада с името на атрибута. Затова трябва да преправим горния пример:
<td nowrap="nowrap"> <input type="checkbox" checked="checked"> <hr noshade="noshade">
<td nowrap="nowrap">
<input type="checkbox" checked="checked">
<hr noshade="noshade">
В XHTML е задължително да се затварят елементите, дори и тези които не се затварят според HTML.
В HTML можем да напишем без това да е грешка:
<p> Това е параграф. <p> Това е втори параграф. <p> Това е трети параграф. <br> Това е нов ред, без да е параграф.
<p> Това е параграф.
<p> Това е втори параграф.
<p> Това е трети параграф.
<br> Това е нов ред, без да е параграф.
За да бъде валиден XHTML код, обаче, е нужно да затворим всички елементи:
<p> Това е параграф. </p> <p> Това е втори параграф. </p> <p> Това е трети параграф. </p> <br /> Това е нов ред, без да е параграф.
<p> Това е параграф. </p>
<p> Това е втори параграф. </p>
<p> Това е трети параграф. </p>
<br /> Това е нов ред, без да е параграф.
Двойните тирета могат да се ползват само в началото и в края на XHTML коментар. Това означава, че синтаксисът на следния код не е валиден:
<!-- Това е невалиден коментар -- долният също е невалиден --> <!---------------------------------->
<!-- Това е невалиден коментар -- долният също е невалиден -->
<!---------------------------------->
Поправени горните два реда изглеждат така:
<!-- Това е валиден коментар - - долният също е валиден --> <!--=====================================-->
<!-- Това е валиден коментар - - долният също е валиден -->
<!--=====================================-->
Всички символи "<" и "&", които не са част от елементи на XHTML езика, е нужно да бъдат кодирани. Така следния код няма да е валиден XHTML:
<p> X & Y < Z </p>
Кодът ще трябва да се промени по следния начин:
<p> X & Y < Z </p>
Регистрирай се сега за да коментираш и за да не изпускаш най-новото в общността. Ще се радваме да видим твои публикации тук!