HTML (съкращение от термина наанглийски:HyperTextMarkupLanguage, произнасяно най-често като„ейч-ти-ем-ел“, в превод „език за маркиране на хипертекст“) е основниятмаркиращ език за описание и дизайн науеб страници. 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, които представляват характеристикитеза тогавашните форматиращи езици, като такъв използван в TYPESET програмата за текстообработка от 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 който включвал и SGMLDocument Type Definition за да дефинира граматиката (синтаксиса) на езика.[1] По същия начин Dave Raggett създава Internet-Draft, „HTML+ (Hypertext Markup Format)“, в края на 1993, предлагайки стандарти за таблици и форми за попълване.[2]
През 1994 IETF създава работеща група по HTML която през 1995 завършва HTML 2.0 (първата спецификация за HTML, която трябва да се счита за постоянна и бъдещите спецификации да я надграждат).
От 1996 спецификациите се поддържат отWorld Wide Web Consortium (W3C).[3] През 2000, HTML е вече световен Интернет стандарт (ISO/IEC15445:2000), като в браузърите се ползват различни стандарти като HTML 3 и HTML 4.01, която версия е обявена през 1999.
Дълго този стандарт е толкова добре работещ, че не се разглежда необходимост от подобряването му, но междувременно Microsoft оттегля работата си по flash, като Adobe продължава да го поддържа за уеб, Майкрософт пуска частна версия на flash, която обаче не става популярна въпреки качеството на графиката, и така след известни проблеми с flash-а, през 2012 се повдига въпроса за обновяване на стандарта, например с подобрения с видео включването в страници.
Тъй като 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.[4]
Все пак става дума за Apple стандарт, който максимално подобрява работата на Macintosh настолни компютри и тяхната синхронизация с мобилни устройства.
Създаването на HTML базиранауеб страница може да се извърши с помощта на обикновентекстов редактор. Този начин изисква добро познаване на HTML тагове, така че те да бъдат в логическа последователност, и в тях да бъдат интегрирани текстовите сегменти, или текстът, който ще се показва на страницата. Също така често срещани са по-приятелски настроените инструменти, които не изискват от потребителя да пише ръчно HTML, макар и да притежава познания по HTML, което му позволява да създаде страница по методаWYSIWYG. Основен инструмент за тази целNotepad, но за тази цел може да се използва дори текстообработваща програмаWord, която разбира се позволява количеството html код да бъде умножено по експоненциала, но гарантира показването на един текст като уебстраница този път без каквито и да е познания в програмирането, парсинга и други подробности, тъй като код, създаден на Word позволява на браузъра да спре с часове, почти независимо от процесора.
Така чеWord е програма, която позволява да запазите документ като HTML и да го редактирате като текст.
Въпреки това, в действителност компании катоMicrosoft и други специализирани в създаването на програмни инструменти и дори среди за програмиране, пускат за правещите уебстраници по-специализирани инструменти, които не правят процесора да спре, и тези програмни инструменти са също така способни при писане на код, от страна на създаващия уеб страницата, или дори при движение на графични елементи от дизайнер, да се създавт HTML страници.
Указва на браузъра, че това е HTML документ. Отбелязва началото и края на документа и съдържа всички други негови елементи (с изключение на <!DOCTYPE> елемента).
Декларира се първи, още преди <html> тага. Валидира документа. <!DOCTYPE> не е HTML таг. Той е инструкция за уеб браузъра – указва HTML версията, на която е написана страницата:
<!DOCTYPE HTML PUBLIC „-//W3C//DTD HTML 4.01//EN“ „http://www.w3.org/TR/html4/strict.dtd“>
<!DOCTYPE html><html><head><title>Заглавие на документа</title></head><body><h1>Моето първо заглавие.</h1>Съдържание на документа......</body></html>
Дефинира картинка в HTML страницата. Има два задължителни атрибута:src иalt. Атрибутътsrc указва URL адреса на картинката,alt – указва алтернативен текст на картинката, аhight иwidth – указват съответно височината и ширината на картинката в пиксели.
Дефинират се с тага <table>. Таблицата е разделена на редове, чрез тага <tr> („table row“), а всеки ред е разделен на клетки с данни (чрез тага <td>, „table data“). Всяка клетка може да съдържа текст, линкове, картинки, списъци, форми, други таблици и т.н. Атрибутът border задава рамка на таблицата.
Повечето атрибути на елементи са двойки име – стойност, разделени със знак за равенство и записвани в рамките на отварящия таг след името на елемента. Името може да е с единични или двойни кавички. Оставянето на стойности на атрибути без кавички се смята за несигурно.
Има няколко често срещани атрибута, които може да се появят в много елементи:
– Атрибутът id предоставя уникален идентификатор за елемента в документа. Използва се за идентифициране на елемента, така, че стиловете да могат да променят свойствата им.
– Атрибут class е начин за класифициране на подобни елементи. Може да бъде използван за семантични или презентационни цели. Например, хипертекстов документ може семантично да използва обозначение class =”notation” за указване, че всички елементи от този клас са второстепенни спрямо главния текст в този документ. Множествени класови стойности също са позволени, като например class=”notation important”, който слага елемента в класа „notation“, а в същото време и в класа „important“.
– Авторът може да използва атрибутът style за да задава презентационни свойства на определен елемент. Прието е за по-добра практика да се използва id или class атрибутите на елемента за избиране на елемент от каскадни стилове (вижCSS).
– title атрибут се използва за прикачване на подтекстово обяснение на елемент. В повечетобраузъри този атрибут се показва на екрана като съвет.
– lang атрибутът идентифицира естественияезик на съдържанието в елемента, който може да бъде различен от този в останалата част на документа.
– Атрибутът abbr може да се използва за да се демонстират показаните по-горе атрибути:
– Повечето елементи приемат и атрибут dir, пряко свързан с посоката на изписване на думите в езиците, като например „rtl“ за right-to-left текст, катоАрабски,Персийски и други.
Семантичния уеб или 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)).[5]
Някои обикновени HTML редактори като WindowsNotepad могат да съхраняват HTML файлове като използват разширения като .html .htm .css и т.н.
Обектни редактори
Някои редактори позволяват алтернативно редактиране на сорсовия текст по по-визуално ориентирани способи отколкото обикновеното цветно селектиране с мишката, но не в WYSIWYG режим. Някои WYSIWYG редактори включват опцията да използват палитрени прозорци които позовляват да се редактират текстовите параметри на селектираните обекти. Тези палитри позволяват или редактирането на параметри в полета за всеки параметър, или текстови прозорци, чрез които се редактират пълни групи текст за селектирания обект. Те могат да включват механизми, които предоставят и селектират различни опции при редактирането на параметри. ADOBE Go Live разполага с контурен редактор, чрез който се създават разширяеми и падащи HTML обекти и свойства.
WYSIWYG HTML редакторите предоставят интерфейс за редакция който показва страницата такава, каквато ще бъде изобразена директно в браузъра. Тези едитори могат да бъдат както самостоятелни програми, катоAdobe Dreamweaver илиMicrosoft Frontpage(вече неподдържана), така и под формата на добавки за браузъра, позволяващи директно редактиране. Стиловият енджин трябва да бъде достатъчно развит, за да позволява на разработчиците да пишат, пействат, трият и манипулират съдържанието. Целта е такава, че по всяко време на редактирането видимият резултат трябва да представлява това, което по-късно ще се вижда в стандартния уеб браузър.
WYSIWYM (каквото виждаш е каквото имаш предвид) е алтернативна парадигма на WYSIWYG редакторите. Вместо да се фокусират върху формата или презентацията на документа, тя запазва желаното значение на всеки елемент. Например хедърите на всяка страница, разделите, параграфите и т.н са наречени по същия начин в редактиращата програма и представени по съответния начин в браузъра.
HTML е структуриран език с маркиращи елементи. Той притежава набор от правила, които трябва да бъдат спазвани при писане на документи, ако желаем той да издържи наW3C стандартите заWorld Wide Web. Тази практика спомага сайтовете да са достъпни за всички типове и модели компютри, както и за безжичните устройства като смартфони иперсоналните дигитални асистенти (PDA). Последните са особено рискова група, заради техните ограничени скорости за предаване на информация и размер на екрани. За нещастие, повечето от HTML документите в интернет пространството не отговарят на зададените W3C стандарти. При проучване проведено през 2011 г. върху 350 от най-популярните уеб сайтове (оценени по индекса Alexa), цели 94% от тях се провалят на валидационния тест, или не изпращат правилна информация заЕнкодинг на символите.[6] Дори и частта от тези, които са синтактично коректни, се оказват неефективни, поради множество повторения, или се уповават на правила, които са отхвърлени от години.
Тези насоки подчертават разделението на семантичното съдържание (HTML или XHTML) от дефинициите как да изглежда то (CSS). Предимството на което е, че намалява драстично повторенията в сайта цялостно. Понеже информацията за стиловете се изпраща веднъж, а не за страница по страница, а в още по-лошите случаи за всеки HTML елемент. Оттогава насам WYSIWSYG редакторите се опитват, с различна степен на успех, да приложат тази разделителна идея, без да трябва да разкриват подробно същината ѝ на крайните си потребители.
Независимо от това дали страницата е създадена или редактирана на ръка или от WYSIWYG програма, за да бъде успешна върху възможно най-голям брой четци и визуализатори, като в същото време запазва същината на 'worldwide' от уеб мрежата, първо и най-важно, документа трябва да съдържа правилни маркиращи елементи.[8] Не трябва да се счита за годен за World Wide Web, докато неговия HTML и CSS синтаксис не преминат успешно валидатор. За целта трябва, да се ползват официалните услуги на W3C (W3C HTML валидатор иW3C CSS валидатор) или алтернативи, на които може да се разчита.[8]
Достъпността на уеб страниците за хора с физически, зрителни или други увреждания, не само е добра идея, имайки предвид важността на мрежата в модерното общество, но също така се изисква от законодателните органи. В Щатите „Актът за американци с увреждания“ и във Великобритания „Актът против дискриминация на хората с увреждания“ налагат изисквания върху публичните сайтове. В много други страни подобни закони вече съществуват или са в процес на влизане в сила.[8] Създаването на достъпни уеб страници е по-сложно от това те да бъдат валидни. Валидността им със сигурност остава като предусловие, но има множество други фактори, които трябва да се разгледат.[9] Добрия уеб дизайн, независимо дали е подпомаган с WYSIWYG средство за разработка или не, трябва да съумее да ги спази.
Качеството на документ съдържащ HTML, най-пряко зависи от уменията на човека, който го създава и доста по-косвено на редактора, който ползва. Основно познание на HTML, CSS, скриптови езици и познание на актуалните препоръки на W3C за предходните, биха помогнали на един дизайнер далеч повече от, който и да е, WYSIWYG или подобен инструмент.[10]
Почти всеки HTML документ ще има несъответстващ изглед върху различните устройства и компютри поради следните причини:
Различните браузъри и приложения ще изрисуват един и същ маркиращ текст по различен начин.
Една и съща страница може да изглежда почти по еднакъв начин на Internet Explorer и Firefox при екрани с висока резолюция, но да изглежда по радикално различен начин на напълно валиднияLynx браузър, който визуализира само текст. Документът ще бъде изрисуван по друг начин и на PDA,телевизор и мобилен телефон. Достъпността, осигурена от говорещи илибрайлови браузъри или чрез екранни четци, съвместими с обикновени браузъри, ще създаде допълнителни изисквания върху други аспекти на основополагащия HTML. Отпечатването на страницата, през различни браузъри и различни принтери върху различни големини на печатната хартия в различните региони на света, поставя други изисквания. При правилна употреба на HTML и CSS вече няма нужда да се предоставят линкове за „Печатна версия на страницата“, вследствие от които ни се налага да поддържаме две версии на целия сайт.[11]
Браузърите и системите за компютърна графика имат набор от потребителски настройки
Разделителната способност, размера на шрифта, цветове, контраст и прочее – всички те могат да бъдат променени по желание на потребителя и много модерни браузъри позволяват още по-богат контрол над изгледа на страниците.[12] Всичко което авторът може да направи, е да предложи препоръка за настройките над изгледа.
Уеб браузърите, както всяка друга компютърна програма, иматбъгове
Освен бъговете, не всички съответстват с текущите стандарти. Безнадеждно е, да се опитва, да се създаде уеб страница заобикаляща проблемите във всички често срещани браузъри. В такъв случай всеки път, когато излезе нова версия на браузър, значителна част от световната мрежа следва да бъде пренаписана, за да удовлетвори новите бъгове и поправки. Затова е препоръчително, да се пише по установения стандарт, и да се избягват абсолютните новости в уеб технологиите, поне докато не е минало достатъчно време, за да се наложат.[13] Например никой не може да спори, че CSS все още е новост, защото е достатъчно разпространен и поддържан от браузърите.[14] Това, че WYSIWYG редакторите още не са достигнали зрялост с тази технология, не е показател.[15]
Единичен визуален стил може да има различни семантични значения
Семантичното значение, извлечено от основополагащата структура на HTML документа, е важно за търсачките и за набор от средствата за достъпност. По принцип можем да извлечем от контекста или от опит дали един почернен текст представлява заглавие, или ударение. Доста по-трудно е обаче да предадем тази разлика, когато ползваме WYSIWIG редактор, уповавайки се само на финалния изглед.
Това, което виждаме, може да е това, което много голяма част от посетителите получават, но не гарантира това коетовсички ще получат.
↑HTML+ Internet-Draft – Abstract // Архивиран оторигинала на21 декември 2012. Browser writers are experimenting with extensions to HTML and it is now appropriate to draw these ideas together into a revised document format. The new format is designed to allow a gradual roll over from HTML, adding features like tables, captioned figures and fill-out forms for querying remote databases or mailing questionnaires.
↑HTML5 – Hypertext Markup Language – 5.0 // Internet Engineering Task Force, 28 октомври 2014. Посетен на25 ноември 2014. This document recommends HTML 5.0 after completion.
↑Mintert, Stefan. Weberknechte – WWW Dokumente komfortabel erstellen // iX (magazine) (8). Heinz Heise, 1995. Посетен на21 февруари 2011. (на немски)