Informační systémy Tvorba webových stránek a HTML 5 Martin Trnečka Katedra informatiky Univerzita Palackého v Olomouci Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 1 / 46
Webové stránky Internet - fenomén, který není třeba představovat. Webová stránka (www stránka, internetová stránka, html stránka). Produkt celé řady technologíı: HTML, CSS, JavaScript, PHP, MySQL, ASP, Ruby on Rails,.... Není možné uspokojivě prezentovat všechny technologie. Zaměříme se na volně dostupné řešení (ne příliš vhodné pro enormní IS). Velice populární u menších a středních IS (ale i velké IS). Výběr technologíı: strategické rozhodnutí podléhající celé řadě aspektů. Více se vrátíme k problematice výběru technologie v pozdější části kurzu. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 2 / 46
Opakování z KMI/POS Hypertext Transfer Protocol (HTTP) zajišt uje komunikaci mezi serverem a klientem na principu requestů (HTTP 1.1, nově HTTP/2). Základní protokol (aplikační vrstva TCP/IP) na kterém je vystavěn Internet. Dvě základní metody: GET a POST. GET: Požadavek pomocí URL requestu Zůstává v historii prohĺıžeče Omezení délky (2048 znaků) Nevhodný pro přenos citlivých dat POST: Nezůstává v historii prohĺıžeče Žádné omezení délky. Nelze cachovat. Zabezpečená (šifrovaná) verze HTTPS protokol. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 3 / 46
HyperText Markup Language (HTML) Značkovací jazyk! Kĺıčový prvek každé webové stránky (*.html). Slouží pro definici významu (sémantiky) obsahu webové stránky. Počátky z roku 1990, nejnovější HTML 5. Standard jazyka, konsorcium W3C, http://www.w3.org/ Interpretovatelný všemi běžnými webovými prohĺıžeči (Chrome, Firefox, Internet Explorer (IE), Opera, Safari,... ) - jsou zde jisté problémy (více později). HTML 5 defines the fifth major revision of the core language of the World Wide Web, HTML. This document describes the set of guiding principles used by the HTML Working Group for the development of HTML5. The principles offer guidance for the design of HTML in the areas of compatibility, utility and interoperability. http://www.w3.org/tr/html-design-principles/ Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 4 / 46
Historie vývoje HTML I. 1980 - Systém ENQUIRE pro CERN (Tim Berners-Lee). 1989-1990 - představena první verze HTML + browser (vznik www). 1991 - první dokumentace. 1993 - první požadavky na standardizaci. 1994 - založena první pracovní skupina. 1995 - HTML 2.0 1996 - HTML přechází pod World Wide Web Consortium (W3C). 1997 - HTML 3.2, brzy na to HTML 4.0 (uvedeno několik standardů a DHTML) 1999 - HTML 4.01, v roce 2000 separátní větev vývoje XHTML. 2004 - začátek vývoje HTML 5 2008 - pracovní draft HTML 5 Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 5 / 46
Historie vývoje HTML II. 2011 - rozšíření skupiny W3C, last call pro HTML 5 2012 - první pracovní draft HTML 5.1 verze. 2013 - HTML 5 (stále není hotové) je podporováno všemi moder. prohĺıžeči. 2014-28. říjen 2014, bod zlomu, HTML 5 získává status W3C recommendation, stává se oficiálním standardem. 2015 - Mezidobí, zbývá implementovat zbytek HTML 5 standardu. Práce na draftu HTML 5.1 (očekávané dokončení je oznámeno na konec roku 2016) http://www.w3.org/html/wg/drafts/html/master/. Očekávaný draft HTML 5.2 verze. Poznámka: Historie stojící za vývojem (r)evolučního HTML 5 je mnohem rozsáhlejší a složitější. Není možné ji uspokojivě shrnout pomocí pár odrážek. Složité a pomalé procesy standartizace W3C, vznik HTML living standardu predikují, že budoucnost HTML není vůbec jasná. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 6 / 46
Tvorba www stránek obecně Mnoho rozličných přístupů a pohledů na www stránky a jejich tvorbu. Náš pohled: web je informační systém. Důsledek: musí plnit svůj účel. Progressive enhancement Obecný princip při tvorbě webu. Začínáme s HTML a postupně nabalujeme další technologie. Obĺıbený přístup, ale má i své stinné stránky. Základní stavební bloky: Textový obsah - informace, data, prezentace. Odkazy na jiné soubory - obrázky, videa, hudba, jiné HTML soubory. Značky - popisující a strukturující www stránku. Vše v čistě textové podobě interpretované web. prohĺıžečem (obecně interpretem). Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 7 / 46
Tvorba www stránek podrobněji Je nutné si uvědomit: Tvorba www stránek = softwarový projekt (mnohdy velice rozsáhlý). Znalosti z oblasti softwarového inženýrství (principy vývoje software, analýza, wire frame, GUI a další). Budeme se zabývat tvorbou základních www stránek (ne však nutně jednoduchých) a tuto znalost postupně rozšiřovat. V praxi velice populární: využít již existující technologii Java,.NET, popřípadě nějaký framework (Nette, Symphony, Ruby on Rails) a na ní vystavět web. Má své výhody, šetří čas, ale odstiňuje uživatele od základů. Programátor se pak stává uživatelem - problém poslední doby. Používání frameworků je naprosto přirozený vývoj na rozdíl od mnohých programátorů si touto evolucí projdeme. V žádné případě nebudeme používat WYSIWYG editory! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 8 / 46
Příklad (HTML 5 kód) 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>blue Flax (Linum lewisii)</title> 6 </head> 7 <body> 8 <article> 9 <h1>the Ephemeral Blue Flax</h1> 10 11 <! Blue Flax > 12 <p>i am continually <em>amazed</em> at the beautiful, delicate 13 <a href="http://en.wikipedia.org/wiki/linum_lewisii" rel="external" 14 title="learn more about Blue Flax">Blue Flax</a> that somehow took hold in my garden. 15 They are awash in color every morning, yet not a single flower remains by the afternoon. They are 16 the very definition of ephemeral.</p> 17 18 <img src="blueflax.jpg" width="300" height="175" alt="blue Flax (Linum lewisii)" /> 19 </article> 20 </body> 21 </html> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 9 / 46
Význam HTML značek Značky (někdy též HTML entity, či pouze entity popřípadě tagy) přiřazují význam obsahu (udávají sémantiku). Sémantika má vliv na celou řadu kĺıčových atributů: přístupnost, SEO, jednoduchost. Je sémantika nutná? Ano! Anonymita dat. Značky HTML neříkají nic o podobě (vzhledu) obsahu. Ne vždy tomu tak bylo, HTML 5 přichází v tomto ohledu se zcela striktní politikou. Přesto je obsah zobrazen v určité podobě (podrobněji se k tomu vrátíme na dalších přednáškách). Základní dělení značek (semantika): 1 Blokové - jejich použití způsobí vytvoření bloku. Např. <div>, <p>,... 2 Řádkové (inline) - nepřekročí rozsah řádku. Např. <a>, <em>, <span>,... Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 10 / 46
Základní syntaxe HTML I. Základní dělení značek (syntaxe): 1 Párové - <div>obsah</div> 2 Nepárové - <img src="obrazek.jpg" /> Pro jednoduchost budeme párové značky psát pomocí jejich uvozovacího tagu. Definice (Syntaxe párového tagu) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] > obsah tagu < /ukoncovaci tag> Příklad (Odkaz, párový tag) 1 <a href="http://en.wikipedia.org" rel="external" title="learn more about Blue Flax"> 2 Blue Flax 3 </a> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 11 / 46
Základní syntaxe HTML II. Definice (Syntaxe nepárového tagu) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] / > V HTML 5 již není znak / na konci nepárového znaku povinný (ani zakázaný). Příklad (Obrázek, nepárový tag) 1 <img src="blueflax.jpg" width="300" height="175" alt="blue Flax (Linum lewisii)" /> Z hlediska syntaxe nejsou atributy povinné, ale bez nich nemají některé značky význam. Rovněž některé atributy jsou doporučené. Definice (Prázdný element) <uvozovaci tag [atribut 1 = hodnota 1... atribut n = hodnota n ] > < /ukoncovaci tag> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 12 / 46
Základní syntaxe HTML III. (atributy) V HTML 5 zapisovat atributy elementu několika způsoby Příklad (Zápis atributů) 1 <input type="text" disabled > 2 <input type="text" value=yes > 3 <input type="text" value= no > 4 <input type="text" value="yes or no" > Zápis atributů se řídí jednoduchými pravidly: http://www.w3.org/tr/html5/syntax.html#attributes-0 Globální atributy, společné všem HTML elementům: http://w3c.github.io/html-reference/global-attributes.html. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 13 / 46
Vztah potomek rodič Příklad 1 <article> 2 <h1>the Ephemeral Blue Flax</h1> 3 <img src="blueflax.jpg"... /> 4 <p>... continually <em>amazed</em>... delicate <a...>blue Flax</a>...</p> 5 </article> Např. <h1> je potomek <article>. <p> je rodičem prvků <em> a <a>. Elementy tedy existují v určité hierarchické struktuře. Příklad (Korektní vs. nekorektní použití značek) 1 <p>... continually <em>amazed</em>...</p> 2 <p>... continually <em>amazed...</p></em> Značky musí být uzavírány v pořadí LIFO. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 14 / 46
Syntaxe HTML (základní struktura dokumentu) I. <!DOCTYPE html>, speciální značka pro webové prohĺıžeče, udává v jakém formátu (standardu) je dokument zapsán. Pokud nebude standard dodržen stává se dokument nevalidní (syntakticky nesprávný)! Příklad (HTML 5 DOCTYPE) 1 <!DOCTYPE html> Příklad (Zastaralé, ale stále funkční DOCTYPE) 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/tr/rec-html40/strict.dtd"> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 6 "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> 7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 8 "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 15 / 46
Syntaxe HTML (základní struktura dokumentu) II. <html>, uvození začátku html stránky. <head>, vymezuje hlavičku html dokumentu. <body>, vymezení obsahu (těla) html stránky. Příklad 1 <html lang= cs > 2 <head> 3 <! hlavicka stranky > 4 </head> 5 <body> 6 <! obsah stranky > 7 </body> 8 <html> Otázka k zamyšlení: Jsou tyto tagy povinné? Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 16 / 46
Sekce <head> Slouží pro nastavení a specifikaci vlastností html stránky. Obvykle obsahuje informace o vkládaných souborech (CSS, Java Script) a meta tagy. <title>, nejdůležitější prvek této sekce, určuje název stránky, má velký význam především pro SEO. Pouze text bez dalších html značek. Definice (Syntaxe meta tagu) <meta name= val 1 http-equiv= val 1 content= val 2 / > Příklad (Běžné meta tagy) 1 <meta charset="utf-8" /> 2 <meta name="description" content="page description..." /> 3 <meta name="keywords" content="key words for searching..." /> 4 <meta name="author" content="martin Trnecka" /> 5 <meta http equiv="refresh" content="30"> 6 <meta http equiv="content-type" content="text/html; charset=utf-8"><! zastarale > Stručný přehled meta tagů: http://www.w3schools.com/tags/tag_meta.asp Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 17 / 46
Syntaxe HTML I. (Nadpisy) <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, nadpisy různé úrovně. Příklad 1 <h1>velky nadpis</h1> 2 <h6>nejmensi nadpis</h6> Praktický tip: Ačkoliv existuje 6 úrovní v praxi se běžně používají pouze první 4 úrovně. S klesající úrovní nadpisu, klesá i význam nadpisu samotného. Výskyt nadpisů by měl být postupný dle důležitosti. <hgroup>, seskupení nadpisů. Příklad 1 <hgroup> 2 <h1>giraffe Escapes from Zoo</h1> 3 <h2>animals Worldwide Rejoice</h2> 4 </hgroup> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 18 / 46
Syntaxe HTML II. (blokové značky) <div>, blok (generický kontejner bez sémantického významu). <p>, odstavec. <img />, vložení obrázku. Různé formáty (JPG, PNG, GIF,... ). Atributy: - src - url adresa obrázku (relativní, absolutní) - alt - popisek obrázku (má vliv na SEO a v případě nedostupnosti obrázku, popřípadě pro čtečky www stránek) - height - výška obrázku v pixelech. - width - šířka obrázku v pixelech. - (border, align - nejsou v HTML 5 podporovány!) Příklad 1 <img src="smiley.gif" alt="smiley face" height="42" width="42"> <hr />, způsobí vložení vodorovné čáry. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 19 / 46
Syntaxe HTML III. (řádkové značky) <a>, odkaz. Atributy: - href, url adresa destinace (relativní, absolutní). - rel, specifikace vztahu odkazu k aktuálnímu dokumentu (např. nofollow) - target, kde má být odkaz otevřen (např. blank) <em>, zdůrazněný text. <strong>, zvýrazněný text, sémantická důležitost. <span>, ohraničení celku (řádkové!), bez sémantického významu. <br />, řádkový zlom. <address>, pro vložení adresy. <cite>, citace. <pre>, originální mezery. <i>, <b>, <u> - kurziva, tučný text, podtržený text (zastaralé v HTML 4.01), v HTML 5 mají jiný význam! (zvuk, tučný, stylistika) <del> přeškrtnutý obsah, <ins> podtržený obsah (oba nejsou řádkové!), <s> neaktuální obsah. <abbr> zkratky, <bdo> směr textu, <blockquote>, <samp>, <dfn>, <var>... Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 20 / 46
Syntaxe HTML IV. <code>, zdrojový kód. <button>, tlačítko. Příklad 1 <button type="button">click Me!</button> <canvas>, 2D kresĺıcí plátno novinka v HTML 5. <embed>, kontejner pro vložení externí aplikace (korektně je definován až v HTML 5). Pravidlo: Potomkem řádkového elementu nesmí být element blokový! Vyjímkou je element pro odkaz. To zda je element řádkový či blokový je obvykle snadno rozpoznatelné z jeho použití. Pozor: Ne všechny značky (především z HTML 5) se defaultně zobrazují stejně ve všech prohĺıžečích (je zapotřebí CSS)! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 21 / 46
Syntaxe HTML V. (formuláře) <form>, atributy: action, method, enctype <input>, atribut name pro jméno a type pro specifikaci typu (text, hidden, submit, password, checkbox, date, file,... ) nové atributy v HTML 5: autofocus, required, placeholder, readonly, maxlength, pattern,... Příklad 1 <form action="demo.php"> 2 Your name: <input type="text" name="fname"><br> 3 <input type="tel" name="phone" placeholder="xxx-xxx-xxxx" pattern="\d{3}-\d{3}-\d{4}" /> 4 <input type="submit" value="submit"> 5 </form> <textarea>, <button> (lze použít pro odeslání formuláře) <select>, <option>, <optgroup> <fieldset>, <label> Stav formulářů v HTML 5: http://www.wufoo.com/html5/ Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 22 / 46
Formuláře ještě jednou Pro formuláře přenášející soubory je potřeba multipart/form-data Nové prvky lze použít pro základní validaci na straně klienta (validace je ponechána na prohĺıžeči). V případě přístupu z jiného zařízení umožňují pohodlnější manipulaci (číselné pole = je zobrazena jen numerická klávesnice). Výrazně ulehčují tvorbu webových aplikací. http://diveintohtml5.info/forms.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 23 / 46
Syntaxe HTML VI. (tabulky) Tabulky se používají pro zobrazení tabulkových dat. Nebo dat tabulkové povahy. Webový pravěk: využití tabulek pro layout (lze i dnes ale má to zásadní důsledky - mýtus, dnes již neplatí). Přehled syntaxe: <table> <thead> <tbody> <tfoot> <tr> <th> <td> <colgroup> <col> <caption> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 24 / 46
Příklad (Tabulka) 1 <table> 2 <caption>tv Schedule</caption> 3 4 <! table head > 5 <thead> 6 <tr> 7 <th>time</th> 8 <th>mon</th> 9 <th>tue</th> 10 <th>wed</th> 11 </tr> 12 </thead> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 25 / 46
Příklad (Tabulka pokračování) 1 <! table body > 2 <tbody> 3 <tr> 4 <td>8 pm</td> 5 <td>staring Contest</td> 6 <td colspan="2">celebrity Hoedown </td> 7 </tr> 8 9 <tr> 10 <td>9 pm</td> 11 <td>hardy, Har, Har</td> 12 <td>what s for Lunch?</td> 13 <td rowspan="2">movie of the Week</td> 14 </tr> 15 16 <tr> 17 <td>10 pm</td> 18 <td>healers, Wheelers & Dealers</td> 19 <td>it s a Crime</td> 20 </tr> 21 </tbody> 22 </table> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 26 / 46
Syntaxe HTML VII. Seznamy: <ul>, seznam s odrážkami. <ol>, číslovaný seznam. Atributy: - reversed, hodnoty v opačném pořadí. - start, první hodnota seznamu. - type, typ odrážek 1, A, a, I, i <li>, položka seznamu. Ostatní: Přehled všech elementů HTML jazyka je dostupný na: http://www.w3schools.com/tags/ Pozor: Ne všechny značky jsou podporovány všemi prohĺıžeči. Stejně tak ne všechny značky mají stejný význam v různých verzích HTML! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 27 / 46
Syntaxe HTML (novinky v HTML 5) I. Strukturální elementy <header>, <nav>, <footer>, <article>, <section>... Poznámka: Často kritizovány jako neužitečné (neoprávněné). Novinka oproti předchozím HTML Restartují outline webu (nadpisy). V HTML 5 je možné mít více <h1> elementů. Velice problematické z hlediska sémantiky - nedoporučuji používat. <header>, vymezení hlavičky sekce (nesouvisí s <head>!), význam závisí na umístění, může obalovat navigační prvky. Příklad (<header> jako součást sekce) 1 <article> 2 <header> 3 <h1>internet Explorer 9</h1> 4 <p><time pubdate datetime="2011-03-15"></time></p> 5 </header> 6 <p>windows Internet Explorer 9 (abbreviated as IE9) was released to 7 the public on March 14, 2011 at 21:00 PDT...</p> 8 </article> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 28 / 46
Příklad (<header> jako součást celé stránky) 1 <body> 2 <header> 3 <nav> 4 <ul> 5 <li><a href="#gaudi">barcelona s Architect</a></li> 6 <li lang="es"><a href="#sagrada-familia">la Sagrada Familia</a></li> 7 <li><a href="#park-guell">park Guell</a></li> 8 </ul> 9 </nav> 10 </header> 11 </body> Příklad (<header> jako banner) 1 <header role="banner"> 2... [ site logo, navigation, etc.]... 3 </header> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 29 / 46
Syntaxe HTML (novinky v HTML 5) II. <nav>, vymezení navigačních prvků stránky či elementu. Ne všechny navigační prvky stránky musí být obaleny touto značkou. Příklad ( <nav> ) 1 <nav role="navigation"> 2 <a href="html">html</a> 3 <a href="css">css</a> 4 <a href="js">javascript</a> 5 </nav> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 30 / 46
Syntaxe HTML (novinky v HTML 5) III. <footer>, vymezení patičky elementu. Příklad ( <footer> ) 1 <footer> 2 <p>posted by: Hege Refsnes</p> 3 <p>contact information: <a href="mailto:someone@example.com"> 4 someone@example.com</a>.</p> 5 </footer> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 31 / 46
Syntaxe (novinky v HTML 5) IV. <article>, vymezení většího bloku. Příklad ( <article> ) 1 <article> 2 <h1>the Diversity of Papua New Guinea</h1> 3 4 <p>papua New Guinea is home to more than 800 tribes and languages...</p> 5... [ rest of story content]... 6 <footer> <! the article s footer, not the page s > 7 <p>leandra Allen is a freelance journalist who earned her degree in anthropology from 8 the University of Copenhagen.</p> 9 <address> 10 You may reach her at <a href="mailto:leandra@therunningwriter.com"> 11 leandra@therunningwriter.com</a>. 12 </address> 13 </footer> 14 </article> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 32 / 46
Syntaxe HTML (novinky v HTML 5) V. <section>, vymezení části (většího) bloku article (lze použít i bez article). Příklad ( <section> ) 1 <section> 2 <h2>ceremony</h2> 3 <ol> 4 <li>opening Procession</li> 5 <li>speech by Valedictorian</li> 6 <li>speech by Class President</li> 7 </ol> 8 </section> 9 10 <section> 11 <h2>graduates (alphabetical)</h2> 12 <ol> 13 <li>molly Carpenter</li> 14 <li>anastasia Luccio</li> 15 <li>ebenezar McCoy</li> 16 </ol> 17 </section> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 33 / 46
Syntaxe HTML (novinky v HTML 5) VI. <aside>, obsah mimo hlavni obsah. Obĺıbený pro vytvoření sidebaru. Příklad ( <aside> ) 1 <p>my family and I visited The Epcot center this summer.</p> 2 3 <aside role="complementary"> 4 <h4>epcot Center</h4> 5 <p>the Epcot Center is a theme park in Disney World, Florida.</p> 6 </aside> <main>, definice hlavního obsahu v rámci <body>, nerestartuje outline. Na stránce musí být pouze jeden element <main>. Příklad ( <main> ) 1 <main role="main">...</main> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 34 / 46
Syntaxe HTML (novinky v HTML 5) VII. <meter>, grafické zobrazeni části (ne všechny prohĺıžeče podporují - textové zobrazení). Příklad ( <meter> ) 1 <p>miles walked during half marathon: 2 <meter min="0" max="13.1" value="4.5" title="miles">4.5</meter></p> <progress>, progress bar. Příklad ( <progress> ) 1 <p>please wait while we save your data. Current progress : 2 <progress max="100" value="0">0% saved</progress></p> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 35 / 46
Syntaxe HTML (novinky v HTML 5) VIII. <figure>, <figcaption>. <keygen>. <menu> (redefinováno v HTML 5), <menuitem>. <output>, <time>. Ukončena podpora: <frame>, frameset, <noframe>. <font>, <center>. <applet>. Úplný přehled všech HTML tagů: http://www.w3schools.com/tags/. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 36 / 46
Data atributy Novinka (jedno z nejlepších vylepšení) v HTML 5. Slouží pro uložení lokálních dat na webové stránce či v aplikaci - pokročilejší funkcionalita na úrovni HTML stránky. Příklad 1 <ul> 2 <li data animal type="bird">owl</li> 3 <li data animal type="fish">salmon</li> 4 <li data animal type="spider">tarantula</li> 5 </ul> 6 7 <p data obsah="ulozena data"> 8... 9 </p> V předchozích verzích HTML bylo něco podobného možné jen v omezené míře. Zamyšlení: Podoba internetu se dramaticky mění. Trendem moderní doby jsou webové aplikace. HTML 5 se snaží (v omezené míře) na tuto změnu reagovat. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 37 / 46
ARIA Accessible Rich Internet Applications (WAI-ARIA) 1.0 Slouží pro vylepšení přístupnosti a pokročilejší definici sémantiky. Atribut role. Role: application, banner, complementary, contentinfo, form, main, navigation, search,... Součástí HTML 5 standardu (definováno samostatným standardem) http://www.w3.org/tr/html5/dom.html#aria-role-attribute. Příklad 1 <nav role="navigation"> 2 <a href="html">html</a> 3 <a href="css">css</a> 4 <a href="js">javascript</a> 5 </nav> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 38 / 46
Pojmenovávání elementů 1 Pro pojmenování jedinečným názvem použijeme atribut id Příklad ( <id> ) 1 <div id="content"> 2 <article> 3... 4 </article> 5 </div> 2 Pro pojmenování opakujícím se názvem použijeme atribut class Příklad ( <class> ) 1 <div class="navigation active"> 2 <article> 3... 4 </article> 5 </div> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 39 / 46
Příklad (Komplexní příklad HTML stránky) 1... 2 <body> 3 <! obsah kontejneru > 4 <div id="container"> 5 <header>...</header> 6 7 <! obsah prvniho sloupce > 8 <div id="content"> 9 <article>...</article> 10 </div> 11 12 <! obsah druheho sloupce > 13 <div id="sidebar"> 14 <aside>...</aside> 15 </div> 16 17 <footer>...</footer> 18 </div> 19 </body> 20 </html> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 40 / 46
HTML entity Speciální znaky. Definice (Syntaxe html entit) &nazev entity; Příklad (HTML entity) 1 2» 3 & 4 Přehled na: http://www.elizabethcastro.com/html/extras/entities.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 41 / 46
Názvy Názvy souborů mají především vliv na SEO a přístupnost stránek jako celku. Příklad (Vhodný název) buckminster-fuller.html Příklad (Nevhodný název) buckminster fuller.html Poznámka: dodatečné soubory vkládané do html stránky by měli mít rozumnou velikost. Poznámka: starší literatura často uvádí znak podtržítka jako nevhodný to má především historické důvody, dnes je založeno na poznatcích z kognitivní psychologie. Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 42 / 46
Odkazy ještě jednou (lokální odkazy) Příklad 1 <body> 2 <header> 3 <h2>table of Contents</h2> 4 <nav> 5 <ul> 6 <li><a href="#intro">introduction</a></li> 7 <li><a href="#main-characters">description of the Main Characters</a></li> 8 </ul> 9 </nav> 10 </header> 11 12 <article> 13 <h2 id="intro">introduction</h2> 14 <p>lorem ipsum...</p> 15 <h2 id="main-characters">description of the Main Characters</h2> 16 <p>dolor sit amet...</p> 17 </article> 18 </body> Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 43 / 46
Validní HTML Validní = syntakticky (a částečně sémanticky) korektní HTML kód vzhledem k aktuálnímu DOCTYPE. Nevalidní HTML může být renderováno nečekaným způsobem. Velký vliv na SEO. Automatická validace: http://validator.w3.org/ Vždy budeme používat validní HTML! Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 44 / 46
Závěr Důležité pojmy: Jazyk HTML a jeho základní principy, syntaxe a sémantika jazyka HTML 5 Specifické vlastnosti jazyka HTML 5 a jejich použití. Formuláře v HTML 5. Čtení na doma: Castro E., Hyslop B., HTML 5 and CSS 3, 2012, ISBN 978-0-321-71961-4. (chapter 1-6, 15, 16, 18) - hlavní zdroj http://en.wikipedia.org/wiki/progressive_enhancement http://www.w3.org/tr/wai-aria/ http://www.w3schools.com/tags/ http://www.wufoo.com/html5/ http://diveintohtml5.info/forms.html Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 45 / 46
Kniha: HTML 5 and CSS 3 Visual Quick Start Guide. Informace o knize: http://www.bruceontheloose.com/htmlcss/ 7. vydání (v době vytváření tohoto kurzu vyšlo 8. vydání). Český ekvivalent HTML5 a CSS3 (Názorný průvodce tvorbou WWW stránek) od Computer press (překlad 4. vydání). Martin Trnečka (Přednáška 2) Tvorba webových stránek a HTML 5 Informační systémy 46 / 46