---
title: HTML5
slug: Web/Guide/HTML/HTML5
tags:
- Desenvolvimento Web
- Guía
- HTML
- HTML5
- Visão Geral
- Web
translation_of: Web/Guide/HTML/HTML5
original_slug: Web/HTML/HTML5
---
HTML5 é a mais recente evolução do padrão que define o HTML. O termo representa dois conceitos diferentes:
- É uma nova versão da linguagem HTML, com novos elementos, atributos, e comportamentos
- e um conjunto maior de tecnologias que permite o desenvolvimento de aplicações e web sites mais diversos e poderosos. Este conjunto é chamado HTML5 & friends e muitas vezes abreviado apenas como HTML5.
Criada para ser utilizável por todos os desenvolvedores da Web Aberta, essa página de referências faz ligações a inúmeros recursos do HTML5, classificados em diversos grupos, baseando-se em suas funções;
- Semântica: permite você descrever mais precisamente o seu conteúdo.
- Conectividade: permite uma comunicação com o servidor de formas modernas e inovadoras.
- Offline e armazenamento: Permite que páginas web armazenem dados localmente do lado do cliente e opere de forma offline mais eficientemente.
- Multimídia: Viabiliza a utilização de áudio e vídeo de forma primorosa na Web Aberta.
- Gráficos e efeitos 2D/3D: viabiliza um leque diversificado de opções de representação gráfica.
- Performance e integração: fornece grande otimização de velocidade e melhor utilização do hardware do computador.
- Acesso ao dispositivo: viabiliza a utilização de diversos métodos e dispositivos de entrada e saída.
- Estilização: permite aos autores a escrita de temas mais sofisticados.
Semântica
- Seções e estruturas em HTML
- Uma visão geral sobre as novas estruturas e novos elementos de seção do HTML5: {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("nav")}}, {{HTMLElement("header")}}, {{HTMLElement("footer")}} e {{HTMLElement("aside")}}
- Utilizando áudio e vídeo com HTML5
- Os elementos {{HTMLElement("audio")}} e {{HTMLElement("video")}} incorporam e permitem manipulação de novos conteúdos multimídia.
- Formulários em HTML5
- Uma visão geral sobre as melhorias dos formulários web com o HTML5: a API de validação de restrição, novos valores para o atributo {{htmlattrxref("type", "input")}} dos {{HTMLElement("input")}} e o novo elemento {{HTMLElement("output")}}.
- Novos elementos semânticos
- Seções laterais, mídia e elementos de formulário: há diversos novos elementos, como {{HTMLElement("mark")}}, {{HTMLElement("figure")}}, {{HTMLElement("figcaption")}}, {{HTMLElement("data")}}, {{HTMLElement("time")}}, {{HTMLElement("output")}}, {{HTMLElement("progress")}}, ou {{HTMLElement("meter")}} e {{HTMLElement("main")}}, incrementando o montante de elementos válidos do HTML5.
- Melhorias no {{HTMLElement("iframe")}}
- Usando os atributos {{htmlattrxref("sandbox", "iframe")}}, {{htmlattrxref("seamless", "iframe")}}, e {{htmlattrxref("srcdoc", "iframe")}} , autores podem ser precisos sobre o nível de segurança e a renderização desejada de um elemento {{HTMLElement("iframe")}}.
- MathML
- Viabiliza a inserção direta de fórmulas matemáticas no código HTML5.
- Introdução ao HTML5
- Este artigo introduz como indicar para o navegador que você está usando HTML5 em sua página ou aplicação web.
- HTML5 parser compatível
- O parser, que torna os bytes de um HTML em DOM, foi extendido e agora define precisamente o comportamento em todos os casos, mesmo quando se depara com código HTML inválido. Isso viabiliza uma grandiosa previsibilidade e interoperabilidade entre navegadores compatíveis com o HTML5.
Conectividade
- Web Sockets
- Permite a criação de uma conexão permanente entre a página e o servidor para que estes possam trocar dados através desta ligação.
- Eventos do servidor
- Permite que o servidor envie eventos para um cliente, ao contrário do paradigma clássico onde o servidor pode enviar apenas dados em resposta às requests do cliente.
- WebRTC
- WebRTC (Comunicação em tempo real), permite conexões entre usuários e controle de videoconferência diretamente no browser, sem necessidade de um plugin ou aplicação externa.
Offline e armazenamento
- Recursos offline: cache de aplicação
- Firefox possui suporte completo às especificações dos recursos offlines do HTML5. A maioria dos outros navegadores suportam apenas parte deste recurso.
- Eventos online e offline
-
Firefox 3 dá suporte aos eventos WHATWG online e offline, o que permite que aplicações e extensões percebam quando há conexão de Internet, assim como permite a detecção das oscilações de conexão.
- WHATWG
- Sessão client-side e armazenamento persistente permite que aplicações web armazenem dados de forma estruturada no lado do cliente.
- IndexedDB
- É um padrão web para armazenamento de quantidades significativas de dados estruturados no navegador e para alta performace de busca nestes dados, usando índices.
- Uso de arquivos de aplicações web
- Foi adicionado ao Gecko o suporte à nova API de arquivos do HTML5, tornando possível o acesso de arquivos locais pelas aplicações. Isso inclui suporte para seleções de múltiplos arquivos usando {{HTMLElement("input")}} do novo tipo file do HTML5. Há também o FileReader.
Multimídia
- Utilizando áudio e vídeo com HTML5
- Os elementos {{HTMLElement("audio")}} e {{HTMLElement("video")}} incluem e permitem a manipulação de novos conteúdos multimídia.
- WebRTC
- Permite conexões entre usuários e controle de videoconferência diretamente no browser, sem necessidade de um plugin ou aplicação externa.
- API da câmera
- Permite o uso, manipulação e armazenamento de uma imagem diretamente da câmera do computador.
- Track e WebVTT
- O elemento {{HTMLElement("track")}} permite legendas e capítulos. WebVTT é o formato de texto do track {{HTMLElement("track")}}.
Gráficos e efeitos 3D
- Canvas
- Aprenda sobre o novo elemento {{HTMLElement("canvas")}} e como utilizá-lo para desenhar gráficos e objetos no Firefox.
- API de texto para {{HTMLElement("canvas")}}
- O elemento {{HTMLElement("canvas")}} agora dá suporte à API de texto do HTML5.
- WebGL
- WebGL traz gráficos 3D à Web, introduzindo uma API que se aproxima bastante à OpenGL ES 2.0, que pode ser usada em elementos {{HTMLElement("canvas")}}.
- SVG
- Um formato de imagens vetoriais baseada em XML que pode ser diretamente embutido no HTML5.
- Web Workers
- Permite a delegação da evolução do JavaScript para threads em segundo plano, permitindo que essas atividades sejam prevenidas e assim não deixando as interações dos eventos lentas.
XMLHttpRequest
level 2
- Permite buscar de forma assíncrona algumas partes da página, permitindo apresentar na tela conteúdo dinâmico, variando de acordo com o tempo e ações do usuário. Está é a tecnologia por trás do Ajax.
- Motor JIT-compiling para JavaScript
- A nova e poderosa geração de motores JavaScript é muito mais poderosa, levando para uma maior performance.
- History API
- Permite a manipulação do histórico do navegador. Isso é especialmente útil para páginas que carregam novas informações interativas.
- O atributo contentEditable: Transforme seu website em uma wiki!
- O HTML5 padronizou o atributo contentEditable. Saiba mais sobre este recurso.
- Arrastar e soltar
- A API do HTML5 permite suportar o recurso de arrastar e soltar (dragging and dropping) items dentro e entre sites da web. Isso também fornece uma simples API para fazer o uso de extensões e aplicações baseadas na Mozilla.
- Foco de gestão em HTML
- O novo HTML5
activeElement
e hasFocus
são atributos suportados.
- Manipuladores de protocolos beseados na web
- Agora você pode registrar aplicações web com manipuladores de protocolos utilizando o método the
navigator.registerProtocolHandler()
.
- requestAnimationFrame
- Permite o controle de animações de renderização para obter a performance ideal.
- API Fullscreen
- Controla o uso de toda a tela para uma página web ou aplicação, sem mostrar a interface de UI do navegador.
- API bloqueio de ponteiro
- Permite o bloqueio do ponteiro para o conteúdo, para jogos e aplicações semelhantes para não perder o foco quanto o ponteiro atinge o limite da janela.
- Eventos online e offline
- A fim de construir uma boa aplicação web offline, você precisa saber quando sua aplicação é realmente offline. Aliás, você também precisa saber quando sua aplicação foi retornada por um status online novamente.
Acesso à dispositivos
- Usando a API da câmera
- É permitido o uso, manipulação, e armazenar imagens através câmeras dos computadores.
- Eventos touch
- Manipuladores para reagir a eventos criados por um usuário ao pressionar em telas sensíveis ao toque (touch screens).
- Utilizando geolocalização
- Deixa que os navegadores localizem a posição do usuário utilizando a geolocalização.
- Detectando a orientaçåo do dispositivo
- Coleta a informação quando o dispositivo em que o browser está rodando muda sua orientação de tela. Isto pode ser utilizado como um dispositivo de entrada (por exemplo, para fazer jogos que utiliza à posiçao do dispositivo) ou para adaptar o layout de uma pagina para a orientaçao da tela (vertical ou horizontal).
- Pointer Lock API
- Permite que o cursor fique limitado às medidas do conteúdo da aplicação, assim, jogos e outras aplicações não perdem o foto quando o cursos ultrapassa os limites do conteúdo.
Estilização
CSS foi estendido para ser capaz de estilo elementos de uma forma muito mais complexa. Sua extensão, também conhecido como CSS3, mas, como o CSS não segue uma especificação padrão, alguns módulos podem não estar necessariamente na versão 3,. Alguns estão na versão 3 e outros até na 1. Chamar de CSS3 é apenas uma convenção.
- Novas caracteristicas dos estilos de background
- Agora é possível determinar uma sombra à um elemento, usando a propriedade
box-shadow
e também podemos definir diversos backgrounds para um elemento.
- More fancy borders
- Também é possível utilizar imagens para estilizar bordas, usando a propriedade
border-image.
Bordas arredondadas são suportadas através da propriedade border-radius.
- Animating your style
- Utilizando
transition
para animar diferentes estágios de determinadas propriedades ou usando animation
para animar trechos da página sem precisar usar o JavaScript com algum evento vinculado, permitindo total controle sobre movimentação de elementos.
- Using CSS Transitions to animate between different states or using CSS Animationsto animate parts of the page without a triggering event, you can now control mobile elements on your page.
- Typography improvement
- Authors have better control to reach better typography. Eles podem controlar
text-overflow
e hyphenation, mas tambem pode adicionar um shadow a ele ou controlar mais precisamente a sua decorations. Tipos de letras personalizadas podem ser baixadas e aplicadas gracas a nova@font-face
at-rule.
- Novos layouts de apresentaçoes
- A fim de melhorar a flexibilidade dos modelos, foram adicionados, dois novos esquemas: o CSS multi-column layouts e CSS flexible box layout.
(Alguns outros artigos relacionados com HTML5.)
Introdução ao HTML5
- Introdução ao HTML5
- Este artigo introduz como utilizar HTML5 no desenho de site ou de sua aplicação.
Elementos do HTML5
- Lista de tags / elementos do HTML5
- Esta página contém uma tabela com todos os elementos (tags) baseado no rascunho atual das especificações do HTML5.
- Utilizando audio e video
- Adicionando suporte aos elementos do HTML5 {{ HTMLElement("audio") }} e {{ HTMLElement("video") }} ao Firefox 3.5.
- Formulários em HTML5
- Veja as melhorias para formulários web em HTML5: a API de validação de restrição, vários novos atributos, novos valores para {{ HTMLElement("input") }} atributo {{ htmlattrxref("type", "input") }} e os novo elemento {{ HTMLElement("output") }}.
- Seções e esboços em HTML5
- Veja os novos elementos para delinear e seccionar em HTML5: {{ HTMLElement("section") }}, {{ HTMLElement("article") }}, {{ HTMLElement("nav") }}, {{ HTMLElement("header") }}, {{ HTMLElement("footer") }}, {{ HTMLElement("aside") }} and {{ HTMLElement("hgroup") }}.
- O elemento {{ HTMLElement("mark") }}
- Este elemento é usado para marcar em destaque um texto de especial relevância.
- O elemento {{ HTMLElement("figure") }} e {{ HTMLElement("figcaption") }}
- Este elemento permite adicionar figuras e ilustrações, com uma eventual legenda, colocado abaixo do texto principal.
Suporte Canvas
- Tutorial Canvas
- Apreda sobre o novo elemento
{{ HTMLElement("canvas") }}
e como desenhar gráficos e outros objetos no Firefox.
- HTML5 API texto para elemento <canvas>
- HTML5 API texto agora é suportado pelo {{ HTMLElement("canvas") }}.
Recursos de aplicações web
- Recursos Offline
- O Firefox suporta completamente as especificações de HTML5 para recurso offline. A maioria dos outros navegadores tem algum nível de suporte aos recursos offline.
- Eventos online e offline
- O Firefox 3 suporta WHATWG eventos online e offline, que permitem que aplicações e extensões detectem se há ou não uma conexão ativa com Internet, bem como detecta quando a conexão conecta e desconecta.
- Sessão WHATWG do lado cliente e armazenamento persistente (aka DOM Storage)
- A sessão do lado cliente e o armazenamento persistente permitem que as aplicações web armazenem dados estruturados no lado cliente.
- O atributo contentEditable: transforma seu website em um wiki!
- O HTML5 tem um atributo padronizado contentEditable. Saiba mais sobre este recurso.
- Usando arquivos de aplicações web
- Suporta para a nova HTML5 API de arquivo foi adicionada ao Gecko, tornando possível as aplicações web para acessarem arquivos locais selecionados pelo usuário. Isso inclui suporte para selecionar vários arquivos usando o novo elemento HTML {{ HTMLElement("input") }} do type arquivo de multiplos atributos.
Recursos DOM
- getElementsByClassName
- O método getElementsByClassName no Document e Element nodes são suportados. Estes métodos permitem encontrar elementos de uma classe ou de uma lista de classes.
- Arrastar e soltar
- A HTML5 API drag and drop permite suporte para arrastar e soltar itens dentro e entre web sites. Isto também proporciona uma API simples para uso de extensões e aplicativos baseados em Mozilla.
- Foco na gestão do HTML
- Os novos
activeElement
e hasFocus
são atributos suportados pelo HTML5..
- Manipuladores de protocolo baseado em web
- Agora você pode registrar uma aplicação web como um manipulador de protocolo usando o método
navigator.registerProtocolHandler()
.
HTML parser
O Gecko é compatível com HTML5 parser—que transforma os bytes de documento HTML em um DOM—foi ativado por padrão a partir de maio de 2010. (Note que a versão do HTML5 parser que foi incluída no Gecko 1.9.2 / Firefox 3.6 tem bastante erros e não é recomendado para uso real.) {{ fx_minversion_inline(4.0) }}
Alterações adicionais
localName
e namespaceURI
em documentos HTML agora se comportam como em documentos XML: localName
retorna em minúsculas e namespaceURI
para elementos HTML é "http://www.w3.org/1999/xhtml"
- Quando a URI da página muda o identificador de fragmento de documento (a parte depois do caracter "#" (hash)), um novo evento
hashchange
é enviado para a página. Veja window.onhashchange para mais informação.
- Suporte para
element.classList
para facilitar o manuseio de atributo de classe.
- evnto de documento pronto document.onreadystatechange e document.readyState são propriedades suportadas.
- Cores em atributos de apresentação são interpretados de acordo com o HTML5.
Tecnologias muitas vezes chamado de parte do HTML5 que não são
Estas são muitas vezes consideradas em conjunto com um uso amplo termo de "HTML5", mas não são realmente parte do W3C HTML5 Spec.
Veja também
Alterações nas versões do Firefox que afetam os desenvolvedores da Web:
{{ languages( {"es": "es/HTML/HTML5", "fr": "fr/HTML/HTML5", "ja": "ja/HTML/HTML5" , "ko": "ko/HTML/HTML5" , "pl": "pl/HTML/HTML5", "pt": "pt/HTML/HTML5", "zh-cn": "cn/HTML/HTML5", "zh-tw": "zh_tw/HTML/HTML5", "pt-br": "pt-br/HTML/HTML5"} ) }}