O documento apresenta as principais mudanças e novos recursos introduzidos pelo HTML5, incluindo:
1) Novas tags semânticas como <header>, <nav>, <article> para melhorar a estrutura e semântica das páginas;
2) Novos tipos de formulários como datas, números e validações;
3) Recursos multimídia como áudio, vídeo e acesso à webcam;
4) Incorporação de linguagens como MathML e SVG para expressões matemáticas e gráficos vetoriais.
2. SOBRE O PALESTRANTE Desenvolvedor Web e líder técnico do projeto ICD (Intercâmbio de Conteúdos Digitais) pela Dynavideo Mestrando em Informática pela UFPB Tecnólogo em Sistemas para Internet pelo IFPB
3. ROTEIRO VISÃO GERAL FORMULÁRIOS MULTIMÍDIA A NOVA GERAÇÃO DE APLICAÇÕES WEB CSS 3 DEMONSTRAÇÕES
7. 2. HTML 5 e suas mudanças Lançado o HTML a W3c alertou sobre as boas práticas; Como separação da estrutura do código e formatação; Porém, HTML4 não trazia diferença real para semântica; HTML4 também não facilitava manipulação de elementos via Javascript ou CSS Ex.: Draganddrop
8. 2. HTML 5 e suas mudanças Criação de APIs que formarão a base da arquitetura Web Fácil manipulação de objetos de forma transparente ao usuário Ferramentas para CSS e Javascript Novas tags e recursos Seções, componentes de formulário, gráficos, multimídia, etc Maior semântica, código interoperável Retrocompatibilidade
9. 3. ESTRUTURA BÁSICA <!DOCTYPE HTML> <htmllang="pt-br"> <head> <metacharset="UTF-8"> <linkrel="stylesheet" type="text/css" ref="estilo.css"> <title></title> </head> <body> </body> </html> Doctype: indica a especificação em uso ao browser ou dispositivo HTML: lang é necessário para que os user-agents saibam a linguagem principal do documento Link: rel pode assumir outros valores como ALTERNATE, mapeando por exemplo um feed como (application/atom+xml)
10. Flow Interactive Phrasing Heading Embedded Sectioning Metadata Flow: a abbraddressarea* articleasideaudio b bdoblockquotebrbuttoncanvas cite codecommanddatalistdeldetailsdfn div dl em embedfieldset figure footerform h1 h2 h3 h4 h5 h6 header hgrouphr i iframeimg input inskbdkeygenlabel link* mapmarkmath menu meta* meter navnoscriptobjectol output p preprogress q rubysamp script sectionselect small spanstrong style* sub supsvgtabletextarea time ul var videowbr PhrasingContent: a* abbrarea* audio b bdobrbuttoncanvas cite codecommanddatalistdel* dfn em embed i iframeimg input ins* kbdkeygenlabel link* map* markmath meta* meter noscriptobject output progress q rubysamp script select small spanstrong sub supsvgtextarea time var videowbrText* * Sob algumas circunstâncias. Embedded: Audio, canvas, embed, iframe, img, math, object, svg, video Metadata: Base, command, link, meta, noscript, script, style, title Interactive: a, audio*, button, details, embed, iframe, img*, input*, keygen, label, menu*, object*, select, textarea, video* * Sob algumas circunstâncias. Heading: h1, h2, h3, h4, h5, h6, hgroup Sectioning: Article, aside, nav, section
11.
12. 5. Novos elementos e atributos Como será... HTML 5 trouxe elementos que ajudam a definir setores principais; Pode-se diferenciar áreas como sidebar, rodapé, cabeçalho; Tais mudanças simplificam o trabalho dos sistemas de busca; <header> <section> <nav> <aside> <article> <footer>
15. 7. SUPORTE ATUAL PELOS BROWSERS Desenvolvimento Modular Motores de renderização: Webkit alcança aparelhos como Blackberry, iPhone, iPodTouch, iPad e dispositivos que rodam Android
16. 8. COMPATIBILIDADE COM HTML5 Atualmente Webkit é o motor mais compatível Firefox e opera já estão compatíveis com boa parte
28. É preciso oferecer um formato alternativo de áudio
29. Ou até mesmo uma opção para baixar o conteúdo<audiocontrols=“true” autoplay=“true”/> <source src=“musica.oga” /> <source src=“musica.mp3” /> <source src=“musica.wma” /> <p>Faça o download <a href=“musica.mp3”>da música</a>.</p> </audio>
40. Em caso de mais de um dispositivo, será possível escolher um para fazer stream<script>functionupdate(stream) {document.getElementsByTagName(‘video’)[0].src = stream.url }</script> <devicetype=“media” onchange=“update(this.data)” /><videowidht=“400” height=“300” />
67. O objeto history foi vitaminado no HTML5 com dois novos métodos:pushState(data,title[,url]): acrescenta uma entrada na lista de histórico. replaceState(data,title[,url]): modifica a entrada atual na lista de histórico. Com isso, pode-se acrescentar itens à lista de histórico, associando dados ou mesmo uma URL;
77. Para permitir que o usuário acesse uma página offiline é preciso escrever um arquivo de manifesto, indicando que URLs devem ser postas em cache. CACHE MANIFEST meu.html meu.cssmeu.js<html manifest=“meu.manifest">
86. Ex.: uma aplicação de e-mail pode guardar um objeto undo representando o fato do usuário mover um e-mail de uma pasta para outra. document.execCommand('undo') document.execCommand('redo')