HTML

HTML (съкращение от термина на английски: HyperText Markup Language, произнасяно най-често като „ейч-ти-ем-ел“, в превод „език за маркиране на хипертекст“) е основният маркиращ език за описание и дизайн на уеб страници. HTML е стандарт в интернет, а неговите стандарти се определят от международния консорциум W3C. Текущата версия на стандарта е HTML 5.0 (от 28 октомври 2014 г.), а предходната стабилна версия е HTML 4.1.
Описанието на документа става чрез специални елементи, наречени HTML елементи или техните маркери, които се състоят от тагове и съответстващите етикети (HTML tags) и ъглови скоби (като например елемента <html>). HTML елементите са основната градивна единица на кода, който изграждат уеб страниците. Чрез тях се форматира, графично оформя текста и неговите отделните части в рамките на една уеб страница, като например заглавия, цитати, текстови раздели, хипертекстови препратки и т.н. Най-често HTML елементите са групирани по двойки <h1> и </h1>.
В повечето случаи HTML кодът е написан в текстови редактори, с файлов формат .html, .htm, dhtml и се качва и хоства на сървъри, които са онлайн в интернет или са част от www мрежата. Тези .html файлове съдържат програмно на таговете на HTML и текстово съдържание със маркери и коментари – също инструкции за браузъра, за това какъв точно тип е .html страницата, а също за това как да се показва текстът, особено що се отнася до езиковите характеристики. За да се илюстрира как се включва текст в HTML код: <маркер> Някакъв текст. </край на маркера>. уеб браузърите са програмирани от своя страна така, в повечето случаи, макар че някои браузъри могат да имат съответно проблеми на версията, за да могат да прочетат HTML документите и да ги покажат на екрана като уеб страници. Браузърите не показват самите HTML тагове, освен ако не се отиде в менюто за да се направи това, така че те „интерпретират“ (тоест парсват) съдържанието на страницата като код и текст за да могат след работа на процесора да покажат желаното уеб съдържание.
Основното предимство на HTML е, че уеб страниците, които са го включват в кода си, могат да се разглеждат чрез показването им от браузъра на екрана на повечето устройства. Уебстраницата може да има дизайн, който дори изглежда с добър дизайн с помощта на CSS или „правилно оформен“ (например с помощта на C#), както върху монитора на персоналния компютър, но също и върху миниатюрния дисплей на пейджър или дисплея на мобилен телефон.
HTML може да прикрепя скриптове писани на езици като JavaScript, който е помощен за HTML, и това променя поведението на дадена уеб страница. Cascading Style Sheets (CSS) се използват, като това се прави за да се определя изгледа и оформлението на текста и други включени в страницата изображения и илюстриращи материали. World Wide Web Consortium (W3C) поддържа както HTML, така и CSS, и насърчава използването на CSS в HTML страниците още от 1997. Това допринася за разделяне съдържанието и структурата на уеб страниците от тяхното визуално представяне.
Първото публично достъпно описание на HTML е документът „HTML тагове“, споменат за първи път в интернет от Тим Бърнърс-Лий в края на 1991 г., [4][5]. Той описва 18-те елемента, които съставляват оригиналния, сравнително прост HTML дизайн. С изключение на маркера за хипервръзка, те бяха силно повлияни от SGMLguid, вътрешен формат на документация, базиран на стандартния обобщен език за маркиране (SGML), в CERN. Единадесет от тези елементи все още съществуват в HTML 4[6].
Първоначално HTML езикът е замислен и създаден като средство за структуриране и форматиране на документи, без да ги обвързва със средствата за възпроизвеждане (показване). В идеалния случай, текст с маркиране на HTML трябва да е без стилистични и структурни изкривявания се играе на оборудване с различни технически оснащенностью (цветен екран модерен компютър, монохромен екран организатор, ограничен от размерите на екрана на мобилен телефон или устройство и програма за гласово възпроизвеждане на текстове). Съвременното приложение на HTML обаче е много далеч от първоначалната му задача. Например, тагът <table> е предназначен за създаване на таблици в документи, но понякога се използва и за проектиране на поставянето на елементи на страницата. С течение на времето основната идея на платформата за независимост на езика HTML беше жертвана на съвременните нужди от мултимедиен и графичен дизайн.
Първото публично достъпно описание на HTML е документ, наречен „HTML tags“, първо посочен в интернет от Тим Бърнърс-Лий в края на 1991 г. HTML е създаден като език за обмен на научна и техническа документация, подходящ за използване от хора, които не са специалисти в областта на оформлението. HTML успешно се справя, като подобрява работата на браузъра с кода, и прави визуализирането на страниците по-бързо, в сравнение със сложността на SGML чрез дефиниране на малък набор от структурни и семантични елементи – дескриптори. Дескрипторите също често се наричат „тагове“. Тим Бърнърс-Лий описва 18 елемента, включващи началната сравнително опростена конструкция на HTML. В допълнение към опростяването на структурата на документа, HTML има поддръжка за хипертекст.
HTML е език за хипертекстово маркиране, който уеб браузърите парсват („интерпретират“), за да покажат текст и съдържание на уебстраницата като изображения и други уеб приложения и материали. Оригиналните характеристики за HTML са част от парсинговите дефиниции и методи на браузъра, като за да се допълнят, техните характеристики могат да бъдат променяни (подобрявани) в самия код на страницата, на страницата на разработчика или локално на потребителския компютър, чрез поддръжка на локален код, тоест с допълнително включване на разширяващият възможностите на HTML – CSS (Cascading Style Sheets), които да подобрят начините за покзаване на текстовото съдържание. Голяма част от определящите текста елементи датират от 1988 ISO technical report TR 9537 Techniques for using SGML, които представляват характеристиките за тогавашните форматиращи езици, като такъв използван в TYPЕSET програмата за текстообработка от 1960-те, създадена за CTSS (Compatible Time-Sharing System) операционна система. Въпреки че, концепцията на SGML е също базирана на елементи (вложени анотирани обхвати с атрибути) и по-малко на принтиращи ефекти със структурно разделение, HTML e неговото подобрение, а CSS допълва HTML в способността на браузъра да дийсплейва съдържанието.
Internet Engineering Task Force (IETF) официално обявяват HTML като SGML базиран език през 1993 г. Като публикували първия план за HTML спецификация: „Hypertext Markup Language (HTML)“ Internet-Draft от Тим Бърнърс – Лий и Daniel Connolly който включвал и SGML Document Type Definition за да дефинира граматиката (синтаксиса) на езика. По същия начин Dave Raggett създава Internet-Draft, „HTML+ (Hypertext Markup Format)“, в края на 1993, предлагайки стандарти за таблици и форми за попълване.
През 1994 IETF създава работеща група по HTML която през 1995 завършва HTML 2.0 (първата спецификация за HTML, която трябва да се счита за постоянна и бъдещите спецификации да я надграждат).
От 1996 спецификациите се поддържат от World Wide Web Consortium (W3C). През 2000, HTML е вече световен Интернет стандарт (ISO/IEC15445:2000), като в браузърите се ползват различни стандарти като HTML 3 и HTML 4.01, която версия е обявена през 1999.
Дълго този стандарт е толкова добре работещ, че не се разглежда необходимост от подобряването му, но междувременно Microsoft оттеглят работата си по flash, като Adobe продължават да го поддържат за уеб, Майкрософт пуска проприетарна версия на flash, която обаче не става популярна, въпреки качеството на графиката, и така след известни проблеми с flash-а, през 2012 се повдига въпроса за обновяване на стандарта, например с подобрения с видео-включването в страници.
24 ноември 1995 г. – HTML 2.0 е представен като RFC 1866. Впоследствие са добавени:
25 ноември 1995 г. – качване на файлове с формуляри;
Май 1996 г. – таблици;
Август 1996 г. – клиентски картови изображения;
През януари 1997 г. е представен HTML 3.2. Това е първата версия, разработена и стандартизирана от World Wide Web Consortium.
През декември 1997 г. е представен HTML 4.0, отново от W3C (World Wide Web Consortium) в три вариации:
април 1998 г. – версия 4.0 претърпява леки промени, без смяна на номера;
декември 1999 г. – версия 4.01 е налице;
януари 2008 г. - версия 5.0, първо публично публикуване. От 2014-та става основен стандарт.
Тъй като HTML се смята за донякъде отворен стандарт, макар и поддържан от W3C и Internet Engineering Task Force, той е направен така, че да работи като част от самия браузър, като част от инструкциите към браузъра и парсъра, а също така е такъв за разработчиците, които свободно могат да го използват за своите нужди, някои нови версии на HTML като HTML5 имат проприетарен подход, което спъва работата на разработчиците и блокира стандартизиращите проекти на W3C и Internet Engineering Task Force, както и други стандартизиращи организации.
януари 2008 г. – Трейдмарковия HTML5 на Apple е представен като работен проект от W3C;
май 2011 г. – версия 5 е в процес на развитие на техническите спецификации. Пълната спецификация се очаква до 2014 г.
октомври 2014 – HTML5 е публикувана като препоръка на W3C.
Представеният нов HTML, който също така има различно изписване от предните, има тенденции за трейдмарк, както и лого HTML5, според групата, работила по него започва още през 2004 от Web Hypertext Application Technology Working Group (WHATWG), а по-късно през 2008 W3C се включва за да одобри стандарта, с идеята, че той ще е еквивалентно добър на този от предните версии на HTML, и двете групи завършват стандарта на 28 октомври 2014.
Все пак става дума за Apple стандарт, който максимално подобрява работата на Macintosh настолни компютри и тяхната синхронизация с мобилни устройства.
Създаването на HTML базирана уеб страница може да се извърши с помощта на обикновен текстов редактор. Този начин изисква добро познаване на HTML тагове, така че те да бъдат в логическа последователност, и в тях да бъдат интегрирани текстовите сегменти, или текстът, който ще се показва на страницата. Също така често срещани са по-приятелски настроените инструменти, които не изискват от потребителя да пише ръчно HTML, макар и да притежава познания по HTML, което му позволява да създаде страница по метода WYSIWYG. Основен инструмент за тази цел Notepad, но за тази цел може да се използва дори текстообработваща програма Word, която разбира се позволява количеството html код да бъде умножено по експоненциала, но гарантира показването на един текст като уебстраница този път без каквито и да е познания в програмирането, парсинга и други подробности, тъй като код, създаден на Word позволява на браузъра да спре с часове, почти независимо от процесора.
Така че Word е програма, която позволява да запазите документ като HTML и да го редактирате като текст.
Въпреки това, в действителност компании като Microsoft и други специализирани в създаването на програмни инструменти и дори среди за програмиране, пускат за правещите уебстраници по-специализирани инструменти, които не правят процесора да спре, и тези програмни инструменти са също така способни при писане на код, от страна на създаващия уеб страницата, или дори при движение на графични елементи от дизайнер, да се създавт HTML страници.
Такива са FrontPage, професионалният ASP.NET,
А също и Notepad++, Macromedia Dreamweaver, Sublime Text и други.
Примерен HTML код
HTML таговете са най-малката съставна част на един HTML документ.
Те, заедно със своите атрибути (като цвят, размер и т.н), съставят т.нар. HTML елементи.
Таговете са ключови думи, заградени в ъглови скоби. Обикновено са по двойки:
Таговете се влагат един в друг, като първия отворен таг се затваря последен.
Указва на браузъра, че това е HTML документ. Отбелязва началото и края на документа и съдържа всички други негови елементи (с изключение на <!DOCTYPE> елемента).
Съдържа заглавието на документа, и може да съдържа стилове, скриптове, енкодинг и т.н.
Съдържа форматиране видимо за потребителя – текст, хиперлинк, картинки, таблици, бутони, параграфи и т.н.
Декларира се първи, още преди <html> тага. Валидира документа. <!DOCTYPE> не е HTML таг. Той е инструкция за уеб браузъра – указва HTML версията, на която е написана страницата:
Удебелява текста.
Задава курсив/наклон на текста.
Подчертава текста.
Указва важен текст.
Дефинира текст под черта.
Дефинира текст над черта.
Указва изтрит текст.
Указва нов ред. Няма таг за край.
Този текст съдържа нов ред.
Указва част от текста, който е цитат.
За отбелязване на текст, като му се променя фона.
Този таг имитира истинските маркери.
Указва линк към друга страница. Най-важният атрибут на този таг е href. Той посочва URL адреса, към който сочи линка:
Дефинира картинка в HTML страницата. Има два задължителни атрибута: src и alt. Атрибутът src указва URL адреса на картинката, alt – указва алтернативен текст на картинката, а hight и width – указват съответно височината и ширината на картинката в пиксели.
Таговете от <h1> до <h6> дефинират заглавия в HTML документа. <h1> дефинира най-важното заглавие. <h6> дефинира най-маловажното заглавие.
Тагът <p> указва параграф. Браузърите автоматично добавят по един празен ред преди и след текста, маркиран като параграф.
Това е параграф.
Това е друг параграф.
Повечето браузъри показват параграфа коректно, дори да не е сложен тага за край.
Това е параграф.
Това е друг параграф.
За нов ред в самия параграф, без да се започва нов, се използва тагът <br>.
Това епараграф с нови редове.
Подредените списъци започват с тага <ol>, а всеки елемент на списъка – с тага <li>:
Атрибутът reversed указва, че подреждането ще е в низходящ ред, а присвоената му стойност – показва началото на номерацията:
Атрибутът start задава началото на номерацията:
Атрибутът type задава вида на маркерите (букви или цифри), например 1, a, A, i, I:
При тези списъци номерацията не е с цифри или букви, а с кръгли точки. Всеки списък започва с тага <ul>, а всеки елемент на списъка – с тага <li>:
Това са списъци от термини/имена с описание на всеки термин/име. Такъв списък се указва с тага <dl> в съчетание с таговете:
Дефинират се с тага <table>. Таблицата е разделена на редове, чрез тага <tr> („table row“), а всеки ред е разделен на клетки с данни (чрез тага <td>, „table data“). Всяка клетка може да съдържа текст, линкове, картинки, списъци, форми, други таблици и т.н. Атрибутът border задава рамка на таблицата.
Заглавната информация в таблицата се указва чрез тага <th>. Текстът обикновено се показва удебелен и центриран:
Повечето атрибути на елементи са двойки име – стойност, разделени със знак за равенство и записвани в рамките на отварящия таг след името на елемента. Името може да е с единични или двойни кавички. Оставянето на стойности на атрибути без кавички се смята за несигурно.
Има няколко често срещани атрибута, които може да се появят в много елементи:
Семантичния уеб или HTML е начин на писане на хипертекстови документи, който подчертава значението на кодираната информация над неговия външен вид. HTML има добавено семантично маркиране още от самото си начало, но също са добавени презентационни маркировки като font, i и center таговете. Има също така семантично неутрални span и div тагове. От 1990 г., когато каскадните стилове CSS започват да работят в повечето браузъри, авторите на уеб съдържание са обнадеждени да избягват използването на презентационна хипертекстова маркиковка с оглед отделянето на презентацията, изгледа от съдържанието.
През 2001 г. на дискусия за семантичния уеб, Тим Бърнърс – Лий и други дават примери, в които интелигентни софтуерни агенти може би един ден автоматично ще пълзят в уеб и ще намират, филтрират и правят връзка с несвързани, публикувани факти в полза на потребителите. Такива агенти не са много често срещани, но примери за това може да са сайтовете за сравнение на цени.
Важен вид уеб агент, който пълзи и чете уеб страници автоматично без да знае преди това какво би могъл да намери, е така нареченият web crawler или паяк на търсачките. Тези софтуерни агенти са зависими от семантичната яснота на уеб страниците, които откриват, използвайки много различни техники и алгоритми да четат и индексират милиони уеб страници на ден и да предоставят на потребителите на уеб търсачки, без които използваемостта на интернет пространството би намаляла значително.
За да могат търсачките в интернет да оценяват значението на парчетата текст, които намират в HTML документи, или за да създават миксове и други хибриди за други, още по-автоматизирани агенти, семантичните структури, които съществуват, трябва широко и еднакво да бъдат прилагани, за да извеждат значението на публикувания текст.
Презентационните маркировъчни тагове са отпаднали в текущата версия на HTML и XHTML и са забранени в HTML5.
HTML 5 е най-новият проект на HTML стандарта, като той все още е в процес на разработка. Той въвежда много нови свойства. Някои от тях са <video>, <audio>, <canvas>. Основната цел на тези подобрения е да се улесни употребата на мултимедийни и графични елементи, без да е необходимо да се ползват външни апликации. Други нововъведения, като <section>, <article>, <header>, <nav>, целят да обогатят съдържанията на документите. Някои от досегашните елементи, като <a> и <menu>, са променени и стандартизирани.
HTML 5 е поддържан от по-стари браузъри, тъй като е направен така, че новите му функции просто да се игнорират от тях.
HTML 5 бързо набира популярност и проучванията показват, че през есента на 2011 година над 30 от 100-те водещи сайтове вече ползват HTML 5, а през лятото на 2013 година 153 от водещите 500 компании вече са имплементирали HTML 5 в сайтовете си.
Текстови редактори
Текстовите (сорсови) редактори, предназначени за употреба с HTML обикновено предоставят възможност за селектиране на синтаксиса. Шаблони, работни ленти и клавиатурни преки пътища често пъти могат да включват стандартни HTML елементи и структури.
Текстовите редактори обикновено включват или вградени функции, или интегрирани външни инструменти за цели като сорс контрол и контрол на версията, проверка на връзки, проверка и валидация на кодове, почистване и форматиране на кодове, ъплоуд чрез FTP или WebDav и проектово структуриране.
Текстовите редактори изискват потребителски познания в областта на HTML и други уеб технологии, които дизайнерът би искал да използва, като CSS, Java и сървърно-ориентирани езици. Тези редактори се наричат също така Прости HTML редактори( A Simple HTML Editor Архив на оригинала от 2016-08-01 в Wayback Machine. (ASHE)).
Някои обикновени HTML редактори като Windows Notepad могат да съхраняват HTML файлове като използват разширения като .html .htm .css и т.н.
Обектни редактори
Някои редактори позволяват алтернативно редактиране на сорсовия текст по по-визуално ориентирани способи отколкото обикновеното цветно селектиране с мишката, но не в WYSIWYG режим. Някои WYSIWYG редактори включват опцията да използват палитрени прозорци които позовляват да се редактират текстовите параметри на селектираните обекти. Тези палитри позволяват или редактирането на параметри в полета за всеки параметър, или текстови прозорци, чрез които се редактират пълни групи текст за селектирания обект. Те могат да включват механизми, които предоставят и селектират различни опции при редактирането на параметри. ADOBE Go Live разполага с контурен редактор, чрез който се създават разширяеми и падащи HTML обекти и свойства.
WYSIWYG HTML редактори
WYSIWYG HTML редакторите предоставят интерфейс за редакция който показва страницата такава, каквато ще бъде изобразена директно в браузъра. Тези едитори могат да бъдат както самостоятелни програми, като Adobe Dreamweaver или Microsoft Frontpage(вече неподдържана), така и под формата на добавки за браузъра, позволяващи директно редактиране. Стиловият енджин трябва да бъде достатъчно развит, за да позволява на разработчиците да пишат, пействат, трият и манипулират съдържанието. Целта е такава, че по всяко време на редактирането видимият резултат трябва да представлява това, което по-късно ще се вижда в стандартния уеб браузър.
WYSIWYM (каквото виждаш е каквото имаш предвид) е алтернативна парадигма на WYSIWYG редакторите. Вместо да се фокусират върху формата или презентацията на документа, тя запазва желаното значение на всеки елемент. Например хедърите на всяка страница, разделите, параграфите и т.н са наречени по същия начин в редактиращата програма и представени по съответния начин в браузъра.
HTML е структуриран език с маркиращи елементи. Той притежава набор от правила, които трябва да бъдат спазвани при писане на документи, ако желаем той да издържи на W3C стандартите за World Wide Web. Тази практика спомага сайтовете да са достъпни за всички типове и модели компютри, както и за безжичните устройства като смартфони и персоналните дигитални асистенти (PDA). Последните са особено рискова група, заради техните ограничени скорости за предаване на информация и размер на екрани. За нещастие, повечето от HTML документите в интернет пространството не отговарят на зададените W3C стандарти. При проучване проведено през 2011 г. върху 350 от най-популярните уеб сайтове (оценени по индекса Alexa), цели 94% от тях се провалят на валидационния тест, или не изпращат правилна информация за Енкодинг на символите. Дори и частта от тези, които са синтактично коректни, се оказват неефективни, поради множество повторения, или се уповават на правила, които са отхвърлени от години.
Текущите препоръки на W3C за употреба на CSS в HTML първоначално се формализират от консорциума през 1996 г. и постоянно подлежат на изчистване и прецизиране. Вижте CSS, XHTML, текущите препоръки на W3C за CSS и текущите препоръки на W3C за HTML.
Тези насоки подчертават разделението на семантичното съдържание (HTML или XHTML) от дефинициите как да изглежда то (CSS). Предимството на което е, че намалява драстично повторенията в сайта цялостно. Понеже информацията за стиловете се изпраща веднъж, а не за страница по страница, а в още по-лошите случаи за всеки HTML елемент. Оттогава насам WYSIWSYG редакторите се опитват, с различна степен на успех, да приложат тази разделителна идея, без да трябва да разкриват подробно същината ѝ на крайните си потребители.
Независимо от това дали страницата е създадена или редактирана на ръка или от WYSIWYG програма, за да бъде успешна върху възможно най-голям брой четци и визуализатори, като в същото време запазва същината на 'worldwide' от уеб мрежата, първо и най-важно, документа трябва да съдържа правилни маркиращи елементи. Не трябва да се счита за годен за World Wide Web, докато неговия HTML и CSS синтаксис не преминат успешно валидатор. За целта трябва, да се ползват официалните услуги на W3C (W3C HTML валидатор и W3C CSS валидатор) или алтернативи, на които може да се разчита.
Достъпността на уеб страниците за хора с физически, зрителни или други увреждания, не само е добра идея, имайки предвид важността на мрежата в модерното общество, но също така се изисква от законодателните органи. В Щатите „Актът за американци с увреждания“ и във Великобритания „Актът против дискриминация на хората с увреждания“ налагат изисквания върху публичните сайтове. В много други страни подобни закони вече съществуват или са в процес на влизане в сила. Създаването на достъпни уеб страници е по-сложно от това те да бъдат валидни. Валидността им със сигурност остава като предусловие, но има множество други фактори, които трябва да се разгледат. Добрия уеб дизайн, независимо дали е подпомаган с WYSIWYG средство за разработка или не, трябва да съумее да ги спази.
Качеството на документ съдържащ HTML, най-пряко зависи от уменията на човека, който го създава и доста по-косвено на редактора, който ползва. Основно познание на HTML, CSS, скриптови езици и познание на актуалните препоръки на W3C за предходните, биха помогнали на един дизайнер далеч повече от, който и да е, WYSIWYG или подобен инструмент.
Почти всеки HTML документ ще има несъответстващ изглед върху различните устройства и компютри поради следните причини:
Това, което виждаме, може да е това, което много голяма част от посетителите получават, но не гарантира това което всички ще получат.