[go: up one dir, main page]

100% acharam este documento útil (1 voto)
100 visualizações154 páginas

HTML5 Entendendo e Executando PDF

O livro 'HTML5 Entendendo e Executando' de Mark Pilgrim oferece um guia abrangente sobre as características inovadoras do HTML5, que modernizam o desenvolvimento web. Ele aborda temas como novos elementos semânticos, suporte a vídeo, geolocalização e armazenamento local, com exemplos práticos para ajudar os desenvolvedores a aproveitar o potencial do HTML5. Pilgrim, um defensor dos padrões da web, combina sua experiência para capacitar os leitores a criar aplicações web inovadoras.

Enviado por

Heitor Júlio
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
100% acharam este documento útil (1 voto)
100 visualizações154 páginas

HTML5 Entendendo e Executando PDF

O livro 'HTML5 Entendendo e Executando' de Mark Pilgrim oferece um guia abrangente sobre as características inovadoras do HTML5, que modernizam o desenvolvimento web. Ele aborda temas como novos elementos semânticos, suporte a vídeo, geolocalização e armazenamento local, com exemplos práticos para ajudar os desenvolvedores a aproveitar o potencial do HTML5. Pilgrim, um defensor dos padrões da web, combina sua experiência para capacitar os leitores a criar aplicações web inovadoras.

Enviado por

Heitor Júlio
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 154

HTML5 Entendendo e

Executando PDF
Mark Pilgrim

Escanear para baixar


HTML5 Entendendo e Executando
Desperte o Poder do HTML5: Transforme suas
Habilidades em Desenvolvimento Web.
Escrito por Bookey
Saiba mais sobre o resumo de HTML5 Entendendo e
Executando
Ouvir HTML5 Entendendo e Executando Audiolivro

Escanear para baixar


Sobre o livro
Descubra o poder transformador do <"HTML5 Entendendo e
Executando"> com este guia perspicaz de Mark Pilgrim. À
medida que a mais recente iteração da linguagem de marcação
evolui, este livro fornece a você conhecimentos práticos sobre
suas características inovadoras que modernizam o
desenvolvimento web. Com amplo suporte dos principais
navegadores e uma vantagem em ambientes móveis,
<"HTML5 Entendendo e Executando"> oferece ferramentas
empolgantes, como incorporação de vídeo, recursos offline e
elementos semânticos avançados. Por meio de exemplos
práticos, você aprenderá a aproveitar o potencial do <"HTML5
Entendendo e Executando">, incluindo o uso do elemento
Canvas para gráficos 2D, Geolocalização para
compartilhamento de localização do usuário e tipos de entrada
de formulários web aprimorados. Seja construindo aplicações
offline ou criando vocabulários personalizados com
microdados, este livro é seu companheiro essencial para
navegar no futuro do design web. Mark Pilgrim, um defensor
experiente de desenvolvedores no Google, traz uma riqueza de
conhecimento de seus trabalhos anteriores, garantindo que
você adquira tanto insights fundamentais quanto habilidades
práticas.

Escanear para baixar


Sobre o autor
Mark Pilgrim é um autor renomado, educador e desenvolvedor
web, conhecido principalmente por suas contribuições no
campo dos padrões da web e por seus escritos perspicazes
sobre HTML5 e tecnologias da web. Com uma trajetória
diversificada que abrange mais de duas décadas na indústria de
tecnologia, Pilgrim tem sido uma voz influente na defesa de
práticas de web aberta e design acessível. Seu estilo de ensino
envolvente, combinado com uma profunda compreensão do
panorama em evolução do desenvolvimento web, conquistou
uma base de seguidores dedicada, tanto entre aspirantes a
programadores quanto entre profissionais experientes. Através
de suas obras, incluindo o aclamado "HTML5 Entendendo e
Executando," Pilgrim continua a inspirar e capacitar os leitores
com o conhecimento necessário para construir aplicações web
inovadoras em um mundo digital em rápida mudança.

Escanear para baixar


Lista de conteúdo do resumo
Capítulo 1 : HTML5 Entendendo e Executando

Capítulo 2 : 1. Como Chegamos Aqui?

Capítulo 3 : 2. Detectando Recursos do HTML5

Capítulo 4 : 3. O Que Tudo Isso Significa?

Capítulo 5 : 4. Vamos Chamar de Um Empate (Superfície de

Desenho)

Capítulo 6 : 5. Vídeo na Web

Capítulo 7 : 6. Você Está Aqui (E Assim Também Estão

Todos os Outros)

Capítulo 8 : 7. O Passado, Presente e Futuro do

Armazenamento Local para Aplicações Web

Capítulo 9 : 8. Vamos Levar Isso para Fora

Capítulo 10 : 9. Uma Forma de Loucura

Capítulo 11 : 10. "Distribuído," "Extensibilidade," e Outras

Palavras Chiques

Escanear para baixar


Capítulo 12 : A. O Guia Quase-Alfabético Tudo-em-Um para

Detectar Tudo

Escanear para baixar


Capítulo 1 Resumo : HTML5
Entendendo e Executando

HTML5 Entendendo e Executando

Mergulhando

O que é HTML5?

HTML5 é o sucessor do HTML 4.01, XHTML 1.0 e


XHTML 1.1, introduzindo recursos necessários para
aplicações web modernas enquanto formaliza muitos padrões
“de fato” que já eram suportados há tempos. Foi projetado

Escanear para baixar


para ser multiplataforma, exigindo apenas um navegador web
moderno para acesso, incluindo versões bem suportadas no
Safari, Chrome, Firefox e Opera, além de navegadores
móveis no iOS e Android.

Temas Abordados no Livro

O livro cobre oito áreas principais do HTML5:


1. Novos elementos semânticos (Capítulo 3)
2. Canvas para desenhar com JavaScript (Capítulo 4)
3. Embedding de vídeo sem plugins de terceiros (Capítulo 5)
4. Recursos de geolocalização (Capítulo 6)
5. Armazenamento local persistente (Capítulo 7)
6. Aplicações web offline (Capítulo 8)
7. Melhorias nos formulários web HTML (Capítulo 9)
8. Microdados para vocabulários personalizados (Capítulo
10)

Compatibilidade Retroativa

O HTML5 visa a compatibilidade retroativa, permitindo que


novos recursos melhorem os existentes. O suporte para
funcionalidades individuais do HTML5 pode ser testado
usando JavaScript em vez de depender de métodos de

Escanear para baixar


detecção de navegador.

Convenções Usadas Neste Livro

- *Itálico*: Termos novos, URLs, endereços de email, nomes


de arquivos e extensões de arquivo.
- Largura constante: Listagens de programas e referências a
elementos de programas.
- Negrito de largura constante: Comandos que devem ser
digitados pelos usuários.
- Itálico de largura constante: Texto a ser substituído por
valores específicos do usuário.
- Dica: Sugestões ou notas gerais.
- Atenção: Avisos ou notas de cautela.

Usando Exemplos de Código

Os exemplos de código deste livro podem ser usados


livremente em seus programas e documentação, sem
necessidade de permissão, exceto para reproduções
significativas. Atribuição é apreciada, mas não obrigatória.

Uma Nota sobre as Edições deste Livro

Escanear para baixar


O livro é baseado em uma fonte de HTML5 mantida pelo
autor e oferece experiências diferentes em edições de ebook,
Safari Books Online e impressas. Recursos adicionais e
exemplos de código ao vivo podem ser encontrados no site
da fonte original.

Safari® Books Online

Safari Books Online oferece uma biblioteca digital para


acesso rápido a livros e vídeos de referência em tecnologia e
criatividade. Assinaturas permitem várias funcionalidades
como leitura em dispositivos móveis, acesso a novos títulos e
organização de conteúdo.

Como Nos Contatar

Para comentários ou perguntas sobre o livro, entre em


contato com a O’Reilly Media. Recursos adicionais, erratas e
questões técnicas podem ser tratados por email ou no site do
editor.

Escanear para baixar


Capítulo 2 Resumo : 1. Como Chegamos
Aqui?

Capítulo 2: Entendendo o HTML5 e Sua Evolução

Introdução ao HTML5

- O desenvolvimento do HTML5 tem suas raízes no delicado


equilíbrio entre padrões e implementações de navegadores,
como destacado por uma citação de um desenvolvedor da
Mozilla.

Importância dos Tipos MIME

Escanear para baixar


- Os tipos MIME determinam como os recursos da web são
interpretados e renderizados pelos navegadores. O cabeçalho
Content-Type é crucial, indicando tipos de recursos como
HTML, imagens, JavaScript e CSS.
- Servidores web antigos careciam do cabeçalho
Content-Type, complicando a relação entre navegadores e os
recursos servidos devido a práticas históricas de detecção de
conteúdo.

Criando Padrões e Elementos

- Os padrões da web não surgem espontaneamente; são


criados através de discussões entre desenvolvedores e partes
interessadas, refletidas em listas de discussão arquivadas.
- O diálogo em torno dos elementos HTML começou em
1993 com propostas como a tag `<IMG>`, ilustrando os
debates iniciais sobre funcionalidade, flexibilidade e a
necessidade de padronização.

Discussões Chave do Desenvolvimento Inicial

- A proposta de Marc Andreessen para a tag `<IMG>`


estabeleceu a base para a integração de imagens no HTML,
levantando questões sobre suporte a formatos e flexibilidade

Escanear para baixar


dos navegadores.
- As respostas de outros desenvolvedores destacaram
abordagens alternativas, como a inclusão de imagens
nomeadas ou funcionalidades adicionais de tags.

Contexto Histórico da Evolução do HTML

- O HTML passou por inúmeras iterações (HTML 2.0, 3.2,


4.0) e tem se mantido resiliente através das mudanças,
integrando retro-especificações enquanto navegava pelos
desafios da web inicial.
- Contribuições notáveis de figuras-chave e organizações,
como o W3C e defensores do XHTML, moldaram a trajetória
do desenvolvimento do HTML.

Desafios e o Papel do Tratamento de Erros


Draconiano

- A natureza permissiva do HTML levou ao uso generalizado


de páginas com erros, impulsionando o W3C a cogitar
padrões XML mais rigorosos e um tratamento de erros
draconiano através do XHTML.
- Muitos autores contornaram os requisitos XML mais
rigorosos, resultando em uma disparidade entre os usos

Escanear para baixar


teóricos e práticos do XHTML.

A Formação do Grupo de Trabalho WHAT

- Em 2004, o Grupo de Trabalho WHAT foi formado para


facilitar a evolução do HTML, enfatizando a compatibilidade
retroativa e a documentação de algoritmos de tratamento de
erros.
- Este grupo enfrentou o desafio de desenvolver novos
recursos HTML enquanto mantinha suporte para conteúdos
existentes.

Colaboração Entre W3C e o Grupo de Trabalho


WHAT

- O W3C e o Grupo de Trabalho WHAT eventualmente se


alinearam para focar em melhorias incrementais, levando à
renomeação do Web Applications 1.0 para HTML5.
- Esta colaboração destacou a necessidade de soluções
práticas e a transição gradual do XHTML e HTML4 para
uma estrutura HTML5 mais robusta.

Conclusão e Direções Futuras

Escanear para baixar


- A narrativa do HTML5 ilustra a evolução contínua dos
padrões da web, moldada pelo diálogo constante entre
desenvolvedores, adesão a práticas históricas e a necessidade
de acomodar as necessidades dos usuários.
- O capítulo conclui com uma reflexão sobre a jornada do
desenvolvimento do HTML e suas implicações para o design
e padrões modernos da web.

Escanear para baixar


Pensamento crítico
Ponto chave:A Evolução dos Padrões no HTML5
Interpretação crítica:O capítulo enfatiza a natureza
colaborativa do desenvolvimento do HTML5,
ressaltando que os padrões surgem de um extenso
diálogo entre as partes interessadas, em vez de
acontecerem espontaneamente. Embora essa perspectiva
destaque a importância do engajamento da comunidade,
pode simplificar excessivamente as complexidades
envolvidas na definição de padrões. Debates
importantes podem ser encontrados na literatura de
desenvolvimento web, como as discussões de Tim
Berners-Lee sobre a evolução dos protocolos e padrões
da web, onde a interação entre as necessidades dos
usuários e as restrições técnicas desempenha um papel
significativo. Os leitores devem considerar que,
enquanto Pilgrim ilustra a colaboração, as dinâmicas
podem ser muito mais confusas e envolver conflitos de
interesse que não estão totalmente representados em sua
narrativa.

Escanear para baixar


Capítulo 3 Resumo : 2. Detectando
Recursos do HTML5
Seção Resumo

Título do Capítulo Capítulo 2: Detectando Recursos HTML5

Introdução HTML5 é uma coleção de recursos individuais, exigindo a detecção de recursos


específicos como canvas, vídeo ou geolocalização, em vez de suporte geral ao
HTML5.

Técnicas de Detecção Quatro técnicas básicas para detectar recursos HTML5 através do DOM:

1. Verificando a Existência de Exemplo: Testando o suporte à geolocalização.


Propriedade em um Objeto Global

2. Criando um Elemento e Verificando a Exemplo: Testando o suporte ao canvas.


Existência de Propriedade

3. Criando um Elemento, Verificando a Exemplo: Testando os formatos de vídeo suportados.


Existência de Método e Chamando o
Método

4. Criando um Elemento, Definindo uma Exemplo: Testando os tipos de suportados.


Propriedade e Verificando seu Valor

Modernizr Modernizr é uma biblioteca JavaScript para detectar o suporte a recursos HTML5
e CSS3, exigindo inclusão na seção head da página web com a versão mais
recente.

Capítulo 2: Detectando Recursos do HTML5

Introdução

O HTML5 abrange uma coleção de recursos individuais em


vez de uma única entidade, tornando essencial detectar o
suporte para recursos específicos como canvas, vídeo ou

Escanear para baixar


geolocalização, em vez de um "suporte geral ao HTML5".

Técnicas de Detecção

Quando um navegador renderiza uma página da web, ele


constrói um Modelo de Objeto de Documento (DOM),
representando elementos HTML como objetos. Cada objeto
pode possuir propriedades únicas com base no suporte do
navegador para os recursos do HTML5, que podem ser
avaliados usando quatro técnicas básicas de detecção:
1.
Verificar a Existência de Propriedade em um Objeto
Global

- Exemplo: Testando o suporte para geolocalização.


2.
Criar um Elemento e Verificar a Existência de
Propriedade

- Exemplo: Testando o suporte para canvas.


3.
Instalar
Criar o aplicativo
um Elemento, Bookey
Verificar para desbloquear
a Existência de
texto
Método e Chamar completo e áudio
o Método

Escanear para baixar


Capítulo 4 Resumo : 3. O Que Tudo Isso
Significa?

Resumo do Capítulo 4: Melhorias no HTML5

Visão Geral das Melhorias

Este capítulo foca em aprimorar uma página HTML


perfeitamente funcional para melhorar sua estrutura e
semântica. O objetivo é simplificar o conteúdo, aumentar a
legibilidade e garantir práticas válidas de HTML5.

O Doctype

- A declaração do doctype define como os navegadores


renderizam uma página.
- Historicamente, isso levou ao desenvolvimento do "modo
quirks" e do "modo padrões."
- O HTML5 simplifica isso com uma declaração concisa:
`<!DOCTYPE html>`.
- Melhor prática: sempre coloque o doctype na primeira linha

Escanear para baixar


para evitar problemas de renderização.

O Elemento Raiz

- O elemento raiz de uma página HTML é `<html>`.


- Atributos como `xmlns` e `xml:lang` geralmente são
desnecessários no HTML5 e podem ser omitidos, sobrando:
`<html lang="en">`.

O Elemento <head>

- Contém metadados sobre o documento.


- A codificação de caracteres é vital para exibir texto
corretamente. Use `<meta charset="utf-8" />` para declarar a
codificação em HTML5.
- Sempre defina sua codificação de caracteres para evitar
erros de renderização ou vulnerabilidades de segurança.

Relações de Links

- Relações de links fornecem contexto sobre o que o recurso


vinculado aborda, diferenciando entre estilos e links de
navegação.
- O HTML5 suporta várias relações de links, aprimorando a

Escanear para baixar


marcação com uma melhor semântica.
- Por exemplo, `<link rel="stylesheet" href="style.css" />`
indica uma folha de estilo.

Novos Elementos Semânticos no HTML5

- O HTML5 introduz vários novos elementos para melhorar a


estrutura semântica das páginas da web:
-
<section>
: Representa agrupamentos temáticos de conteúdo.
-
<nav>
: Denota links de navegação.
-
<article>
: Representa uma composição autossuficiente.
-
<aside>
: Contém conteúdo tangencialmente relacionado.
-
<header>
: Agrupa conteúdo introdutório ou auxílios de navegação.
-

Escanear para baixar


<footer>
: Representa informações de rodapé.
-
<hgroup>
: Agrupa múltiplos elementos de cabeçalho.
-
<time>
: Representa um horário ou data específicos.
-
<mark>
: Destaca texto para referência.

Tratamento de Elementos Desconhecidos pelos


Navegadores

- Diferentes navegadores têm suas maneiras de lidar com


elementos HTML desconhecidos, o que pode afetar o estilo e
a estrutura do DOM.
- O Internet Explorer tem problemas específicos,
particularmente com o estilo de elementos desconhecidos,
mas criar o elemento em JavaScript pode ajudar a superar
essas limitações.
Este capítulo enfatiza a evolução contínua do HTML como
um meio de melhorar ainda mais a estrutura e a experiência

Escanear para baixar


do usuário na web, defendendo a adoção de novas melhores
práticas e estruturas semânticas inerentes ao HTML5.

Escanear para baixar


Exemplo
Ponto chave:O Uso de Elementos Semânticos
Melhora a Acessibilidade
Exemplo:Imagine que você está construindo uma página
da web sobre jardinagem. Se você usar novos elementos
semânticos do HTML5, como <article> para um guia
detalhado sobre cuidados com plantas e <section> para
diferentes tipos de plantas, os leitores de tela ajudarão
os usuários com deficiência visual a navegar pelo seu
conteúdo de maneira mais fácil, enriquecendo sua
experiência e compreensão.

Escanear para baixar


Capítulo 5 Resumo : 4. Vamos Chamar
de Um Empate (Superfície de Desenho)
Seção Resumo

Introdução ao HTML5 apresenta o elemento <canvas> como uma superfície de bitmap para renderizar visuais
Canvas dinâmicos, como gráficos e gráficos de jogos.

Suporte a O suporte básico para o elemento <canvas> está disponível na maioria dos navegadores modernos; o
Navegadores Internet Explorer requer uma biblioteca adicional.

Usando Elementos Múltiplos elementos <canvas> podem existir em uma página, cada um com seu próprio estado,
Canvas acessado através de métodos DOM usando um atributo id.

Desenhando no JavaScript é usado para desenhar no canvas. Acesse os métodos de desenho via getContext("2d"),
Canvas usando métodos como fillRect, strokeRect e clearRect.

Sistema de O sistema de coordenadas começa em (0, 0) no canto superior esquerdo, com as coordenadas x
Coordenadas do aumentando para a direita e as coordenadas y diminuindo para baixo.
Canvas

Caminhos e Linhas Desenhar envolve definir um caminho com métodos de 'lápis' (moveTo, lineTo) e renderizar com um
método de 'tinta', como stroke.

Renderização de Textos podem ser renderizados no canvas, estilizados usando propriedades como font, textAlign e
Texto textBaseline.

Gradientes Gradientes são definidos para formas, permitindo transições de cores com gradientes lineares e radiais
usados como estilos de preenchimento.

Imagens no Canvas Imagens podem ser renderizadas usando o método drawImage, exigindo que as imagens sejam
carregadas antes de desenhar, gerenciado através de ouvintes de eventos.

Compatibilidade Para o Internet Explorer, a biblioteca excanvas.js pode ser usada para emular a funcionalidade do
entre Navegadores canvas para compatibilidade com versões mais antigas.

Resumo do Capítulo 5: Vamos Chamar de Um


Empate (Superfície de Desenho)

Introdução ao Canvas

Escanear para baixar


HTML5 apresenta o elemento `<canvas>` como uma tela
bitmap para renderizar visuais dinâmicos, como gráficos e
gráficos de jogos. O elemento `<canvas>` em si é um
retângulo vazio sem bordas visíveis até ser estilizado.

Suporte a Navegadores

O suporte básico para o elemento `<canvas>` está disponível


na maioria dos navegadores modernos, embora o Internet
Explorer exija uma biblioteca adicional para funcionalidade.

Usando Elementos Canvas

Múltiplos elementos `<canvas>` podem existir em uma


página, cada um mantendo seu próprio estado. Eles podem
ser acessados através de métodos DOM, especificamente
com o atributo `id`.

Desenhando no Canvas

JavaScript é utilizado para desenhar no canvas. Usando


`getContext("2d")`, você pode acessar vários métodos para
desenhos personalizados. Formas simples podem ser criadas
por meio de métodos como `fillRect`, `strokeRect`, e

Escanear para baixar


`clearRect`.

Sistema de Coordenadas do Canvas

O sistema de coordenadas para o canvas começa em (0, 0) no


canto superior esquerdo, com coordenadas x aumentadas para
a direita e coordenadas y aumentadas para baixo.

Caminhos e Linhas

Desenhar no canvas envolve definir um caminho através de


métodos 'lápis' (`moveTo` e `lineTo`) e depois renderizá-los
com um método 'tinta', como `stroke`.

Renderização de Texto

O canvas permite a renderização de texto sem as capacidades


tradicionais do modelo de caixa. O estilo do texto é
controlado por propriedades como `font`, `textAlign`, e
`textBaseline`.

Gradientes

Gradientes podem embelezar formas com transições de cores.

Escanear para baixar


Gradientes lineares e radiais são definidos antes de serem
usados como estilo de preenchimento para formas
desenhadas no canvas.

Imagens no Canvas

Imagens podem ser renderizadas em um canvas usando o


método `drawImage`. As imagens precisam estar totalmente
carregadas antes de serem desenhadas, e isso pode ser
gerenciado através de ouvintes de eventos.

Compatibilidade entre Navegadores

Para suporte ao Internet Explorer, uma biblioteca chamada


`excanvas.js` pode ser utilizada para imitar a funcionalidade
do canvas, permitindo compatibilidade com versões mais
antigas do navegador.
Este resumo encapsula os principais pontos sobre o elemento
`<canvas>` no HTML5, detalhando suas características,
capacidades e uso em diferentes navegadores da web.

Escanear para baixar


Exemplo
Ponto chave:Compreender o elemento `<canvas>`
permite a criação de gráficos dinâmicos para os
usuários.
Exemplo:Imagine que você está projetando um gráfico
interativo online para uma apresentação. Ao aproveitar o
elemento `<canvas>`, você pode renderizar seus dados
visualmente de forma dinâmica, garantindo que eles se
atualizem em tempo real à medida que as entradas
mudam, aumentando assim o engajamento e a
compreensão do usuário. Essa capacidade é crucial para
tornar os dados não apenas informativos, mas também
visualmente atraentes e interativos, o que é uma grande
vantagem do recurso HTML5 Entendendo e
Executando.

Escanear para baixar


Capítulo 6 Resumo : 5. Vídeo na Web

Capítulo 5: Vídeo na Web

Introdução ao Vídeo HTML5

- Antes do HTML5, embutir vídeos exigia plug-ins de


terceiros, como Flash, QuickTime ou RealPlayer.
- O HTML5 apresenta o elemento `<video>` para embutir
vídeos de forma compatível com os padrões, com suporte em
evolução entre navegadores.

Conteineres de Vídeo

- Arquivos de vídeo são armazenados em vários formatos de


contêiner (por exemplo, AVI, MP4) que encapsulam faixas
de vídeo e áudio.
- Contêineres de vídeo comuns:
- MPEG-4 (.mp4, .m4v)
- Flash Video (.flv)
- Ogg (.ogv)
- WebM (.webm)

Escanear para baixar


- AVI (.avi)

Codecs de Vídeo

- Codecs codificam e decodificam fluxos de vídeo, afetando


qualidade e tamanho.
- Tipos incluem:
-
H.264
: Suporte para múltiplos dispositivos, compressão eficiente.
-
Theora
: Código aberto e livre de patentes.
-
VP8
: Associado ao WebM, desenvolvido pelo Google.

Codecs de Áudio

- Importantes para vídeos após 1927. Codecs de áudio com


perdas comuns incluem:
-Instalar o aplicativo Bookey para desbloquear
MP3 texto completo e áudio
: Amplamente reconhecido, suporta várias taxas de bits.

Escanear para baixar


Capítulo 7 Resumo : 6. Você Está Aqui
(E Assim Também Estão Todos os
Outros)

Resumo do Capítulo 7: Você Está Aqui (E Assim


Também Estão Todos os Outros)

Introdução à Geolocalização

Geolocalização é o processo de determinar a localização


física de um usuário e, opcionalmente, compartilhá-la. Isso
pode ser feito por meio de vários meios, como endereço IP,
Wi-Fi, torres de celular ou GPS.

Preocupações com a Privacidade

A API de Geolocalização exige o consentimento do usuário


antes de compartilhar dados de localização com sites. Os
usuários podem escolher se desejam compartilhar sua
localização e podem gerenciar essas permissões
posteriormente.

Escanear para baixar


A API de Geolocalização

A API permite o compartilhamento de dados de localização


com sites confiáveis. Ela é acessível por meio da propriedade
`navigator.geolocation` no JavaScript. Uma função básica
para obter a localização do usuário é fornecida, que requer o
tratamento de potenciais erros e a verificação do suporte à
API.

Consentimento do Usuário e Notificações

Quando um site solicita dados de localização, os navegadores


exibem uma notificação (“infobar”) indicando a solicitação e
permitindo que o usuário conceda ou negue permissão. O
usuário é informado sobre o site que solicita sua localização,
com opções para aceitar, recusar ou lembrar sua escolha.

Obtendo Dados de Localização

A função `getCurrentPosition()` recupera dados de


localização e chama uma função de retorno (callback)
fornecida com os detalhes da localização, que incluem
latitude, longitude, precisão e, possivelmente, altitude e

Escanear para baixar


velocidade. O tratamento de erros pode ser implementado
passando uma função de erro para a função.

Métodos de Precisão de Posicionamento

Os dispositivos podem usar diferentes métodos para


determinar a localização: triangularização celular (menos
precisa, mas mais rápida) e GPS (mais precisa, mas mais
lenta). Os desenvolvedores devem determinar quanta
precisão sua aplicação requer e usar a propriedade
`enableHighAccuracy` de forma apropriada.

Usando watchPosition

Para rastreamento contínuo da localização de um usuário, a


função `watchPosition()` fornece coordenadas atualizadas
enquanto a localização do usuário muda. Os desenvolvedores
podem parar o rastreamento com `clearWatch()`.

Suporte para Navegadores Antigos

Versões mais antigas do Internet Explorer não suportam a


API de geolocalização W3C, mas alternativas como Gears
(um plug-in de navegador) e várias APIs específicas de

Escanear para baixar


dispositivos podem ser usadas.

Biblioteca Geo.js

A biblioteca `geo.js` fornece uma solução unificada para


lidar com as diferenças nas APIs de geolocalização entre
navegadores e plataformas, simplificando o acesso e a
implementação para os desenvolvedores.

Conclusão

Compreender e implementar geolocalização é essencial para


criar aplicações conscientes da localização, equilibrando a
privacidade do usuário com a funcionalidade. Os
desenvolvedores sãoEncorajados a considerar o
consentimento do usuário e a precisão exigida por suas
aplicações em suas implementações.

Escanear para baixar


Capítulo 8 Resumo : 7. O Passado,
Presente e Futuro do Armazenamento
Local para Aplicações Web

Capítulo 7: O Passado, Presente e Futuro do


Armazenamento Local para Aplicações Web

Introdução ao Armazenamento Local

O armazenamento local persistente tem sido uma vantagem


significativa das aplicações nativas em relação às aplicações
web, que historicamente enfrentaram dificuldades com
opções limitadas, como cookies, para armazenamento de
dados. Os cookies são limitados em tamanho, são
transmitidos com cada requisiçã HTTP e apresentam riscos
de segurança.

História dos Hacks de Armazenamento Local Antes


do HTML5

- O Internet Explorer introduziu o userData para 64 KB de

Escanear para baixar


armazenamento baseado em XML.
- Os Objetos Compartilhados Locais (LSOs) do Flash
permitiram 100 KB por domínio.
- O Gears do Google forneceu um sistema de banco de dados
SQL embutido para armazenamento ilimitado.
- As soluções anteriores ao HTML5 eram específicas para
navegadores ou exigiam plug-ins de terceiros, levando a
experiências de usuário inconsistentes.

Introdução ao Armazenamento HTML5

O Armazenamento HTML5, também conhecido como


Armazenamento Web, permite que páginas da web
armazenem pares nomeados de chave/valor localmente. Esse
armazenamento é persistente e não é transmitido para o
servidor, diferenciando-se dos cookies. Ele é suportado pelos
principais navegadores.

Usando o Armazenamento HTML5

- Acesso via objeto `localStorage`.


- As funções de suporte incluem `getItem()`, `setItem()`,
`removeItem()` e `clear()`.
- Os dados são armazenados como strings; funções de

Escanear para baixar


transformação podem ser necessárias para tipos de dados que
não sejam strings.

Rastreamento de Alterações

O evento `storage` permite que os desenvolvedores


respondam a alterações na área de armazenamento. O
tratamento de eventos varia entre navegadores e pode exigir
métodos de fallback.

Limitações do Armazenamento HTML5

O Armazenamento HTML5 é limitado a cerca de 5 MB por


origem, e atualmente os desenvolvedores não têm como
solicitar mais espaço programaticamente.

Armazenamento HTML5 na Prática

O Armazenamento HTML5 pode ser ilustrado através de um


exemplo de jogo Halma, onde o progresso do jogo é salvo e
restaurado usando métodos do localStorage.

Desenvolvimentos Futuros Além do Armazenamento


HTML5

Escanear para baixar


Embora o Armazenamento HTML5 seja benéfico, o cenário
da tecnologia de armazenamento web está evoluindo:
-
Banco de Dados SQL Web
: Permite interações baseadas em SQL, mas sofre de
problemas de padronização.
-
API de Banco de Dados Indexado (IndexedDB)
: Uma solução voltada para o futuro que visa proporcionar
uma abordagem mais estruturada do que pares chave/valor,
mas ainda não está amplamente implementada nos
navegadores.

Leitura Adicional

Vários recursos são citados para mais informações sobre


Armazenamento HTML5, Banco de Dados SQL Web e
IndexedDB, indicando uma evolução contínua nas
capacidades das tecnologias de armazenamento web.

Escanear para baixar


Pensamento crítico
Ponto chave:As limitações do armazenamento
HTML5 podem dificultar o desenvolvimento de
aplicações web inovadoras.
Interpretação crítica:Embora o armazenamento local do
HTML5 represente uma melhoria significativa em
relação aos métodos anteriores, seu limite de 5 MB por
origem pode restringir os desenvolvedores web que
buscam criar aplicações ricas e intensivas em dados.
Isso levanta questões sobre a viabilidade do
armazenamento web a longo prazo como o principal
método de armazenamento de dados para aplicações de
maior escala, especialmente à medida que as demandas
dos usuários aumentam. Além disso, a dependência do
suporte dos navegadores para recursos como o evento de
armazenamento introduz potenciais inconsistências,
levando à dúvida se o HTML5 continuará a ser
suficiente à medida que as necessidades tecnológicas
evoluem. Ao examinar documentação alternativa e
frameworks, como as diretrizes da Mozilla sobre
IndexedDB (consulte a MDN Web Docs), os
desenvolvedores podem encontrar soluções que
abordam melhor essas limitações. Portanto, embora o

Escanear para baixar


autor considere o armazenamento HTML5 um passo
positivo no desenvolvimento web, é crucial considerar
que essa abordagem pode não se sustentar
universalmente perante as crescentes demandas.
Capítulo 9 Resumo : 8. Vamos Levar Isso
para Fora

Capítulo 8: Vamos Levar Isso para Fora

O que é uma Aplicação Web Offline?

Uma aplicação web offline parece paradoxal, já que páginas


web geralmente requerem uma conexão de rede para o
download. No entanto, as aplicações offline em HTML5
permitem que os usuários baixem recursos enquanto estão
online e os acessem offline. No seu núcleo, uma aplicação
web offline consiste em um arquivo de manifesto, que é um
arquivo de texto simples listando as URLs dos recursos
essenciais (HTML, CSS, JavaScript, imagens, etc.). Um
navegador que suporta as capacidades offline do HTML5 lê
esse manifesto, baixa os recursos, os armazena em cache
localmente e atualiza essas cópias locais automaticamente.

Responsabilidades do Desenvolvedor

Escanear para baixar


Como desenvolvedor web, você é responsável por gerenciar
a experiência offline. O DOM fornece uma bandeira para
verificar o status online ou offline, e eventos relevantes irão
notificá-lo sobre qualquer mudança na conectividade. Se sua
aplicação gera dados ou mantém estado enquanto está
offline, você deve implementar um método para armazenar
esses dados localmente e garantir que sincronize com o
servidor quando a conectividade for restaurada.

Suporte do Navegador

A Tabela 8-1 ilustra quais navegadores suportam aplicações


web offline, incluindo detalhes para Internet Explorer,
Firefox, Safari, Chrome, Opera, iPhone e Android.

O Manifesto de Cache

O arquivo de manifesto de cache é central para uma


aplicação web offline. Ele lista todos os recursos necessários
para acesso offline, e você deve vincular a este manifesto
usando o atributo manifest no elemento <html>. Essa
configuração inicia o download e o armazenamento em cache
necessários para uma experiência offline eficaz.

Escanear para baixar


Capítulo 10 Resumo : 9. Uma Forma de
Loucura
Seção Resumo

Introdução aos O HTML5 introduz novos tipos de entrada que melhoram a usabilidade e a funcionalidade, com uma
Formulários HTML5 degradação suave para navegadores mais antigos.

Texto de Espaço O HTML5 permite texto de espaço reservado em campos de entrada para dar dicas ao usuário,
Reservado ignoradas por navegadores que não suportam.

Campos com O atributo de autofoco permite que um campo de entrada receba foco automaticamente ao carregar a
Autofoco página, garantindo uma experiência do usuário consistente.

Endereços de E-mail O tipo de entrada "email" facilita a validação e é tratado como texto simples por navegadores que não
suportam, para compatibilidade retroativa.

Endereços da Web O tipo de entrada "url" otimiza a inserção de endereços da web com um teclado na tela otimizado.

Números como O tipo de entrada "number" permite a inserção numérica com intervalos especificados e oferece
Caixas de Seleção métodos JavaScript para manipulação de valores.

Números como O tipo de entrada "range" fornece controles deslizantes para entrada numérica, aprimorando a
Controle Deslizante interface do usuário.

Seletor de Datas Múltiplos tipos de entrada para seleção de datas são fornecidos, mas o suporte é limitado, geralmente
voltando ao texto simples.

Caixas de Pesquisa O tipo de entrada "search" melhora a usabilidade com uma aparência distinta e funcionalidades como
um botão de limpar.

Seletor de Cores Define o tipo de entrada "color", mas carece de suporte atual nos navegadores.

Validação Automática O HTML5 suporta validação automática para entradas de e-mail, URL e números, reduzindo a
de Entrada necessidade de validação complexa em JavaScript.

Recursos Adicionais Refere-se à documentação do HTML5 e bibliotecas como o Modernizr para aprender mais sobre
tipos de entrada e recursos.

Resumo do Capítulo 10: Uma Forma de Loucura

Introdução aos Formulários HTML5

Escanear para baixar


O HTML5 introduz mais de uma dúzia de novos tipos de
entrada para formulários da web, que aprimoram a
usabilidade e a funcionalidade sem exigir soluções
alternativas. Embora os navegadores modernos suportem
esses recursos, navegadores antigos ainda funcionarão de
forma adequada.

Texto de Placeholder

O HTML5 permite a inclusão de texto de placeholder em


campos de entrada, que oferece dicas aos usuários sem afetar
a funcionalidade. Navegadores que não suportam o atributo
de placeholder o ignorarão.

Campos com Autofoco

O atributo de autofocus permite que um campo de entrada


específico receba foco automaticamente quando a página é
carregada, proporcionando uma experiência consistente entre
diferentes navegadores. Isso minimiza problemas associados
a scripts de autofocus baseados em JavaScript.

Endereços de Email

Escanear para baixar


Novo tipo de entrada para email (`type="email"`) facilita a
validação, melhorando a experiência do usuário.
Navegadores não suportados tratam isso como um campo de
texto simples, garantindo compatibilidade retroativa.

Endereços da Web

O tipo de entrada `type="url"` aprimora a inserção de


endereços da web, com navegadores otimizando o teclado na
tela para facilitar a entrada.

Números como Spinboxes

O HTML5 introduz `type="number"` permitindo que os


usuários insiram números dentro de intervalos especificados,
utilizando atributos como min, max e step. Este tipo oferece
métodos em JavaScript para manipulação de valores.

Números como Sliders

O tipo de entrada `type="range"` permite controles


deslizantes para entrada numérica, adicionando uma interface
visual à experiência de entrada de números.

Escanear para baixar


Selecionadores de Data

O HTML5 inclui vários tipos de entrada para seleção de


datas (`type="date"`, `type="month"`, etc.), embora o suporte
para esses tipos seja atualmente limitado. A maioria dos
navegadores volta a campos de texto simples.

Caixas de Pesquisa

O tipo de entrada `type="search"` aprimora a usabilidade dos


campos de pesquisa, fornecendo uma aparência distinta e
funcionalidades como um botão de "limpar" em alguns
navegadores.

Selecionadores de Cores

O HTML5 define um tipo de entrada de seletor de cores


(`type="color"`), embora falte suporte atual dos navegadores.

Validação Automática de Entrada

O HTML5 facilita a validação automática para entradas de


email, URL e números, aliviando a necessidade de validação
complexa em JavaScript devido às dificuldades inerentes à

Escanear para baixar


validação precisa.

Recursos Adicionais

Para saber mais sobre as especificações e padrões, consulte a


documentação do HTML5 sobre tipos de entrada, o atributo
de placeholder, o atributo de autofocus e bibliotecas como o
Modernizr para detecção de recursos.

Escanear para baixar


Pensamento crítico
Ponto chave:O autor elogia a introdução de novos
tipos de entrada no HTML5 para formulários web,
enfatizando a usabilidade e a compatibilidade com
versões anteriores.
Interpretação crítica:No entanto, essa perspectiva pode
ignorar os possíveis inconvenientes de confiar em novas
funcionalidades que podem levar a inconsistências entre
diferentes navegadores e dispositivos. Embora seja
verdade que o HTML5 proporciona melhores
experiências para o usuário através de recursos como
validação automática e tipos de entrada aprimorados,
essas vantagens dependem em grande parte do suporte
de navegadores modernos, que pode não ser universal.
Críticos argumentam que essa dependência das
capacidades do navegador pode alienar usuários com
sistemas legados, como destacado por pesquisas sobre
inconsistências de acessibilidade na web (Kraus et al.,
2019) e a necessidade contínua de

Escanear para baixar


Capítulo 11 Resumo : 10. "Distribuído,"
"Extensibilidade," e Outras Palavras
Chiques

Resumo do Capítulo 11: Microdados em HTML5


Entendendo e Executando

Introdução aos Microdados

O HTML5 abrange mais de 100 elementos, permitindo que


os desenvolvedores web incluam tanto recursos semânticos
quanto interativos. À medida que as expressões de marcação
evoluem, é essencial focar em relacionamentos semânticos
personalizados que não são representados no HTML padrão.
Os microdados surgem como uma solução para embutir
contexto adicional nas páginas da web sem exigir suporte
exclusivo de especificações futuras.

Compreendendo Microdados

Os microdados anotam o Modelo de Objeto do Documento

Escanear para baixar


(DOM) com pares de chave-valor delimitados a partir de
vocabulários personalizados. Os desenvolvedores podem
definir seus próprios vocabulários para representar tipos de
dados específicos não cobertos pelo HTML básico—como
uma pessoa ou um evento. Eles são estruturados em torno de
pares nome/valor, com propriedades que podem ser
aninhadas, aproveitando a hierarquia pai-filho dos elementos
HTML.

Criando um Vocabulário de Microdados

Para começar a usar microdados, um desenvolvedor precisa


de um espaço de nomes único (geralmente uma URL) para
seu vocabulário personalizado. As propriedades nomeadas
devem, então, ser declaradas usando o atributo `itemprop`
dentro de elementos existentes, definindo como esses dados
se relacionam com o vocabulário estabelecido.

Aplicando Microdados: Pessoas, Organizações e


Eventos

Os microdados oferecem uma maneira simples de marcar


semanticamente informações relevantes sobre pessoas,
organizações e eventos:

Escanear para baixar


1.
Marcação de Pessoas
:
- Utilize vocabulários como
`http://data-vocabulary.org/Person` para definir propriedades
como nome, foto e URL.
- Aninhe essas propriedades dentro de uma seção que
define o escopo.
2.
Marcação de Organizações
:
- Semelhante aos dados pessoais, as organizações podem
ser encapsuladas com seu vocabulário único (como
`http://data-vocabulary.org/Organization`), permitindo
propriedades como nome, endereço e detalhes de contato.
3.
Marcação de Eventos
:
- Eventos podem ser definidos com o vocabulário
`http://data-vocabulary.org/Event`, o que permite a marcação
de detalhes cruciais como datas de início e término,
localização e descrições usando valores `itemprop`
relevantes.

Escanear para baixar


Benefícios de Usar Microdados

Os microdados aumentam a visibilidade do conteúdo web em


mecanismos de busca; o Google utiliza microdados como
parte de sua iniciativa de Rich Snippets. Ao implementar
microdados, os usuários aumentam a probabilidade de que
seu conteúdo seja exibido de forma mais proeminente nos
resultados de busca, destacando atributos específicos
diretamente para os usuários.

Conclusão

Os microdados não apenas enriquecem a arquitetura da


informação das páginas web, mas também servem como uma
ferramenta importante para melhorar a interação com
motores de busca. Sua integração representa um movimento
em direção a conteúdos web mais estruturados e
semanticamente ricos, auxiliando tanto desenvolvedores
quanto usuários.

Escanear para baixar


Capítulo 12 Resumo : A. O Guia
Quase-Alfabético Tudo-em-Um para
Detectar Tudo

Resumo do Capítulo 12: Apêndice A - O Guia


Quase-Alfabético Tudo-em-Um para Detectar Tudo

Este apêndice serve como um guia abrangente para detectar


várias funcionalidades e elementos do HTML5 usando
JavaScript. Inclui uma lista de elementos HTML e
funcionalidades relacionadas, juntamente com seus métodos
de detecção e recursos relevantes.

Elementos Chave e Métodos de Detecção

-
Formatos de Áudio

- `<audio>`: Detecção de suporte a áudio para formatos


MP3, Vorbis, WAV, AAC.
-
Elemento Canvas

Escanear para baixar


- `<canvas>`: Detecção do contexto do canvas e da API de
texto.
-
Elementos Relacionados a Formulários

- `<form>`: Detecção de validação de restrições.


- Tipos de `<input>`: Detecção para vários tipos, incluindo
cor, e-mail, número, data, etc.
-
Formatos de Vídeo

- `<video>`: Detecção de diferentes formatos de vídeo como


WebM, H.264 e Theora.
-
Elementos Interativos

- `<details>`, `<command>`, `<datalist>`: Detecção de


vários elementos baseados em interação.
-
Armazenamento e Mensagens
Instalar o aplicativo Bookey para desbloquear
texto completo
- Métodos de detecção e áudio
de geolocalização, armazenamento
local, armazenamento de sessão e mensagens entre

Escanear para baixar


Melhores frases do HTML5 Entendendo
e Executando por Mark Pilgrim com
números de página
Ver no site do Bookey e gerar imagens de citações bonitas

Capítulo 1 | Frases das páginas 1-18


1.HTML5 Entendendo e Executando é a próxima
geração de HTML, superando o HTML 4.01,
XHTML 1.0 e XHTML 1.1.
2.HTML5 Entendendo e Executando oferece novos recursos
que são necessários para aplicações web modernas.
3.HTML5 Entendendo e Executando é projetado para ser
multiplataforma.
4.HTML5 Entendendo e Executando é a primeira tentativa de
documentar formalmente muitos dos padrões 'de fato' que
os navegadores web têm apoiado por anos.
5.HTML5 Entendendo e Executando é projetado, tanto
quanto possível, para ser compatível com versões
anteriores dos navegadores web existentes.
6.Este livro está aqui para ajudar você a realizar seu trabalho.

Escanear para baixar


Capítulo 2 | Frases das páginas 19-69
1.Implementações e especificações precisam dançar
uma dança delicada juntas.
2.Entregar código é o que conta.
3.HTML sempre foi uma conversa entre fabricantes de
navegadores, autores, especialistas em padrões e outras
pessoas que apenas apareceram e gostaram de falar sobre
colchetes angulares.
4.Código é necessário, mas não suficiente para o sucesso.
5.Havia muitas ‘ramificações mortas’ na árvore evolutiva.
Capítulo 3 | Frases das páginas 70-122
1.HTML5 Entendendo e Executando não é uma
única grande coisa; é uma coleção de recursos
individuais.
2.Quando seu navegador renderiza uma página da web, ele
constrói um Modelo de Objeto de Documento (DOM), uma
coleção de objetos que representam os elementos HTML na
página.
3.Uma rápida espiada no DOM dirá quais recursos são

Escanear para baixar


suportados.
4.Modernizr é uma biblioteca JavaScript de código aberto,
licenciada sob a MIT, que detecta o suporte para muitos
recursos de HTML5 Entendendo e Executando e CSS3.

Escanear para baixar


Capítulo 4 | Frases das páginas 123-195
1.Aprenda. Viva. Ame.
2.Seu doctype deve estar na primeira linha do seu arquivo
HTML.
3.Para facilitar a migração para e de XHTML, os autores
podem especificar um atributo em nenhum namespace, sem
prefixo e com o nome local literal 'xml:lang' em elementos
HTML em documentos HTML...mas tais atributos só
devem ser especificados se um atributo lang...também for
especificado.
4.Você deve sempre especificar uma codificação de
caracteres em cada página HTML que você serve.
5.HTML5 não é apenas sobre encurtar a marcação existente...
também define uma série de novos elementos semânticos.
Capítulo 5 | Frases das páginas 196-242
1.Uma tela é um retângulo na sua página onde você
pode usar JavaScript para desenhar o que quiser.
2.Cada tela começa em branco. Isso é entediante!
3.Cada tela mantém seu próprio estado.

Escanear para baixar


4.Definir o caminho é como desenhar com um lápis... Você
pode desenhar o que quiser, mas não fará parte do produto
final até que você pegue a pena e trace seu caminho com
tinta.
5.Um gradiente é uma transição suave entre duas ou mais
cores.
6.Você precisa garantir que a imagem esteja completamente
carregada antes de poder desenhá-la na tela.
7.Por que você gostaria de desenhar uma imagem em uma
tela em primeiro lugar?
8.O Microsoft Internet Explorer não suporta a API do canvas.
Capítulo 6 | Frases das páginas 243-332
1.A verdade simples é que a especificação HTML5
ainda é um documento em andamento.
2.Com todas as questões em torno da televisão ‘gratuita’, por
que alguém envolvido na entrega não transmissiva se
importaria?
3.Qual é o tipo MIME correto? Você já o viu; faz parte do
valor do atributo type de um elemento <source>.

Escanear para baixar


4.Não existe uma combinação única de contêineres e codecs
que funcione em todos os navegadores HTML5.
5.O futuro do vídeo na web depende das ferramentas e
tecnologias que criamos hoje.

Escanear para baixar


Capítulo 7 | Frases das páginas 333-364
1.Os Agentes de Usuário não devem enviar
informações de localização para sites sem a
permissão expressa do usuário.
2.O sistema de referência de coordenadas geográficas
utilizado pelos atributos nesta interface é o Sistema
Geodésico Mundial (2d) [WGS84]. Nenhum outro sistema
de referência é suportado.
3.Se você precisar encontrar a localização do usuário mais de
uma vez, deve pensar sobre quão antigos as informações
podem ser e ainda assim ser úteis.
4.O usuário sempre vence.
Capítulo 8 | Frases das páginas 365-400
1.O que realmente queremos é: muito espaço de
armazenamento... no cliente... que persista além de
uma atualização de página... e que não seja
transmitido para o servidor.
2.HTML5 é suportado pelas versões mais recentes de
praticamente todos os navegadores... até mesmo o Internet

Escanear para baixar


Explorer!
3.Ao analisar essas soluções, um padrão emerge: todas elas
são específicas para um único navegador ou dependem de
um plug-in de terceiros.
4.O evento de armazenamento é ativado no objeto window
sempre que setItem(), removeItem() ou clear() é chamado e
realmente muda algo.
5.Mas há mais na vida do que 5 MB de pares de chave/valor
nomeados, e o futuro do armazenamento local persistente
é... como posso dizer? Bem, existem várias visões
concorrentes.
Capítulo 9 | Frases das páginas 401-434
1.Uma aplicação web offline é apenas uma lista de
URLs que apontam para arquivos HTML, CSS ou
JavaScript, imagens ou qualquer outro tipo de
recurso.
2.Um navegador web que implementa aplicações HTML5
offline lerá a lista de URLs do arquivo de manifesto,
baixará os recursos, armazená-los-á localmente e manterá

Escanear para baixar


automaticamente as cópias locais atualizadas à medida que
elas mudam.
3.Se sua aplicação criar dados ou salvar estados, cabe a você
armazenar esses dados localmente enquanto estiver offline
e sincronizá-los com o servidor remoto assim que voltar
online.

Escanear para baixar


Capítulo 10 | Frases das páginas 435-473
1.HTML5 define mais de uma dúzia de novos tipos
de entrada que você pode usar em seus
formulários.
2.Nos navegadores modernos, sim, seus formulários vão
arrasar. Nos navegadores legados, seus formulários ainda
funcionarão, mas com menos impacto.
3.Texto de placeholder é exibido dentro do campo de entrada
enquanto o campo estiver vazio e não tiver foco.
4.Porque é apenas marcação em vez de script, o
comportamento será consistente em todos os sites.
5.Navegadores que não suportam o atributo de placeholder
simplesmente o ignorarão. Sem danos, sem problemas.
6.Não posso enfatizar o suficiente o quão importante isso é.
A web tem milhões de formulários que pedem para você
inserir um endereço de e-mail, e todos eles usam <input
type="text">.
7.Você pode 'atualizar' seus formulários da web para usar
type='email' agora mesmo.

Escanear para baixar


8.Não há desvantagem em converter todos os seus campos de
formulários de endereço de e-mail para type='email'
imediatamente.
9.Você também pode ter controles deslizantes em seus
formulários da web.
Capítulo 11 | Frases das páginas 474-543
1.Claro, HTML não pode agradar a todos. Nenhum
padrão consegue. Algumas ideias não passam na
seleção.
2.Microdados anotam o DOM com pares nome/valor
definidos a partir de vocabulários personalizados.
3.Se você quer representar uma pessoa em uma página da
web, precisará definir seu próprio vocabulário. Microdados
permitem que você faça isso.
4.Basta dedicar 10 minutos e adicionar alguns atributos
HTML para anotar os dados que você já estava publicando
de qualquer forma.
5.Deixe o resto do mundo decidir o que fazer com isso. Eles
podem te surpreender!

Escanear para baixar


Capítulo 12 | Frases das páginas 544-663
1.Quer uma biblioteca tudo-em-um em vez disso?
Tente o Modernizr.
2.return !!document.createElement('audio').canPlayType;
3.return !!document.createElement('canvas').getContext;
4.return ('localStorage' in window) &&
window['localStorage'] !== null;
5.return !!navigator.geolocation;
6.return typeof EventSource !== ' ';
7.return !!window.WebSocket;

Escanear para baixar


HTML5 Entendendo e Executando
Perguntas
Ver no site do Bookey

Capítulo 1 | HTML5 Entendendo e Executando|


Perguntas e respostas
1.Pergunta
Qual é o principal objetivo do HTML5?
Resposta:O HTML5 serve como a próxima geração
do HTML, fornecendo recursos novos essenciais
para aplicativos web modernos, padronizando
muitas funcionalidades da plataforma web que
anteriormente não estavam documentadas e
garantindo compatibilidade entre diferentes
sistemas operacionais para os usuários.

2.Pergunta
Como o HTML5 aprimora o desenvolvimento web?
Resposta:O HTML5 aprimora o desenvolvimento web ao
introduzir novos elementos semânticos, como <header> e
<footer>, suportar multimídia com a incorporação direta de

Escanear para baixar


vídeo, habilitar geolocalização, oferecer armazenamento
local persistente, permitir aplicativos web offline e melhorar
formulários web e semânticas personalizadas por meio de
microdados.

3.Pergunta
Por que a compatibilidade retroativa é importante no
HTML5?
Resposta:A compatibilidade retroativa é crucial no HTML5,
pois permite que novos recursos se baseiem em
funcionalidades existentes, garantindo que navegadores mais
antigos ainda possam acessar o conteúdo sem problemas
disruptivos, proporcionando assim uma transição mais suave
para desenvolvedores e usuários.

4.Pergunta
Quais vantagens os navegadores modernos trazem para o
HTML5?
Resposta:Navegadores modernos como Safari, Chrome,
Firefox e Opera suportam numerosos recursos do HTML5,
permitindo que os desenvolvedores criem aplicações web

Escanear para baixar


mais dinâmicas e interativas. Essa ampla compatibilidade
significa que os usuários experimentam uma funcionalidade
mais rica e que os desenvolvedores podem confiar em um
comportamento consistente em diferentes plataformas.

5.Pergunta
O que os desenvolvedores devem evitar ao usar recursos
do HTML5?
Resposta:Desenvolvedores devem evitar depender de
métodos de detecção de navegador para identificar suporte a
recursos do HTML5; em vez disso, devem testar recursos
específicos usando o próprio HTML5, resultando em
aplicações web mais robustas e preparadas para o futuro.

6.Pergunta
Como o livro garante que os leitores possam utilizar seu
conteúdo de forma eficaz?
Resposta:O livro fornece uma variedade de convenções
tipográficas para distinguir termos e exemplos de código,
garantindo clareza na compreensão de como implementar o
conteúdo na prática. Também incentiva os usuários a

Escanear para baixar


interagirem com os recursos online disponíveis para uma
experiência de aprendizado mais rica.

7.Pergunta
Quais recursos o autor recomenda para aqueles que
buscam um envolvimento mais profundo com o conteúdo
do HTML5?
Resposta:O autor recomenda visitar o site
http://diveintohtml5.org/ para exemplos ao vivo de código e
sugere utilizar o Safari Books Online para acessar uma
biblioteca digital de livros de tecnologia, que apoia o
aprendizado contínuo e o desenvolvimento de aplicações.

8.Pergunta
Por que os usuários devem considerar usar os exemplos
de código do livro em seus projetos?
Resposta:Os usuários podem usar os exemplos de código do
livro livremente em seus próprios projetos, promovendo o
aprendizado por meio da aplicação prática, desde que
cumpram as diretrizes de uso justo, o que incentiva a
criatividade e a colaboração na programação.

9.Pergunta

Escanear para baixar


O que a presença de várias edições do livro significa para
os seus leitores?
Resposta:Ter várias edições, incluindo formatos de livro
digital e impresso, significa que os leitores têm opções
adequadas às suas preferências, permitindo uma
interatividade mais rica com hyperlinks em formatos digitais,
enquanto ainda possuem uma referência sólida em formato
impresso.

10.Pergunta
Como os leitores podem se beneficiar ao entrar em
contato com a editora ou autor?
Resposta:Os leitores podem interagir com a editora para
esclarecer dúvidas, relatar correções e obter mais insights,
aprimorando sua compreensão do HTML5 e resolvendo
quaisquer desafios que enfrentem ao integrar o conteúdo do
livro.
Capítulo 2 | 1. Como Chegamos Aqui?| Perguntas e
respostas
1.Pergunta
Qual é a importância dos tipos MIME no

Escanear para baixar


desenvolvimento web?
Resposta:Os tipos MIME são cruciais no
desenvolvimento web, pois determinam como
diferentes tipos de conteúdo—páginas HTML,
imagens, vídeos e scripts—são interpretados pelos
navegadores. Cada recurso servido a partir de um
servidor web vem com um cabeçalho Content-Type
que informa ao navegador como processar e exibir o
conteúdo. Essa padronização garante que os
usuários possam visualizar os recursos
corretamente, independentemente do meio.

2.Pergunta
Por que não podemos ter padrões que atendam
exclusivamente aos autores ou implementadores?
Resposta:Os padrões devem equilibrar as necessidades dos
autores (que criam conteúdo) e dos implementadores (que
constroem ferramentas e navegadores). Se os padrões forem
feitos sem considerar implementações do mundo real, correm
o risco de serem ineficazes, enquanto implementar sem um

Escanear para baixar


padrão pode criar um desenvolvimento caótico sem uma
direção clara.

3.Pergunta
Como as discussões iniciais sobre elementos e atributos
HTML influenciaram os padrões web?
Resposta:As discussões informais iniciais entre
desenvolvedores, como aquelas em torno da tag <IMG>,
destacaram a evolução natural dos padrões por meio da
colaboração. Essas trocas refletiram necessidades reais e
forneceram uma base para a criação de especificações
formais, mostrando que a contribuição da comunidade é vital
para criar padrões eficazes.

4.Pergunta
O que levou ao desenvolvimento do Grupo de Trabalho
WHAT e qual foi seu principal objetivo?
Resposta:O Grupo de Trabalho WHAT surgiu devido à
frustração com o progresso lento do W3C em relação ao
HTML2 e XHTML, focando em desenvolver um caminho
claro e aberto para a evolução do HTML, priorizando a

Escanear para baixar


compatibilidade retroativa e os casos de uso práticos para
aplicações web modernas.

5.Pergunta
Como a natureza 'permissiva' do HTML impacta o
desenvolvimento web?
Resposta:A natureza permissiva do HTML permite que os
navegadores exibam páginas mesmo com erros, o que levou
a uma ampla tolerância a marcação quebrada. Embora isso
tenha facilitado a exibição de conteúdo, também incentivou
práticas de codificação ruins, resultando em um alto número
de páginas quebradas na web.

6.Pergunta
Por que é importante que padrões como o HTML
evoluam ao longo do tempo?
Resposta:A evolução de padrões como o HTML é crítica
para acomodar novas tecnologias, necessidades dos usuários
e o cenário em constante mudança do desenvolvimento web.
Isso garante que a web permaneça acessível e funcional em
várias plataformas e dispositivos, adaptando-se às exigências

Escanear para baixar


modernas sem alienar o conteúdo existente.

7.Pergunta
O que a frase 'os que vencem são os que entregam'
implica no contexto dos padrões web?
Resposta:Essa frase sublinha a importância da
implementação prática em detrimento das discussões teóricas
no desenvolvimento de padrões. Sugere que entregar código
e funcionalidades utilizáveis é primordial e muitas vezes
supera os padrões formais se isso atende às necessidades dos
usuários de forma eficaz.

8.Pergunta
Quais foram as consequências das rígidas regras de
tratamento de erros do XHTML?
Resposta:As rígidas regras de tratamento de erros do
XHTML levaram muitos desenvolvedores a continuar
usando HTML em vez de transitar completamente para
XHTML. O medo de os usuários finais encontrarem
mensagens de erro devido a pequenos erros de codificação
desencorajou a adoção generalizada do XHTML 1.1, gerando

Escanear para baixar


confusão sobre o que constitui um 'XHTML' válido.

9.Pergunta
Como o desenvolvimento do HTML5 diferiu das versões
anteriores do HTML?
Resposta:O HTML5 marcou uma mudança significativa ao
incorporar recursos modernos de aplicações web, mantendo
ao mesmo tempo a compatibilidade retroativa com versões
mais antigas do HTML. Representou uma abordagem
unificadora que integrou novas funcionalidades, como
suporte a áudio e vídeo, tornando-se mais alinhado às
práticas atuais de desenvolvimento web.

10.Pergunta
Por que as discussões históricas sobre elementos HTML
ainda são relevantes hoje?
Resposta:Essas discussões históricas oferecem insights sobre
a natureza colaborativa do desenvolvimento web, revelando
como os padrões emergem a partir da contribuição da
comunidade. Elas também ilustram os princípios duradouros
de flexibilidade, compatibilidade retroativa e a importância

Escanear para baixar


do design iterativo, que continuam a guiar a evolução dos
padrões web.
Capítulo 3 | 2. Detectando Recursos do HTML5|
Perguntas e respostas
1.Pergunta
Qual é o primeiro passo a dar ao usar recursos do
HTML5 em navegadores mais antigos?
Resposta:Comece entendendo que o HTML5 não é
uma entidade única, mas uma coleção de recursos
individuais. Não é possível detectar o 'suporte ao
HTML5' como um todo; em vez disso, concentre-se
em detectar o suporte para recursos específicos,
como canvas, vídeo ou geolocalização.

2.Pergunta
Como você pode determinar se um navegador suporta um
recurso específico do HTML5?
Resposta:Você pode usar várias técnicas para detectar
recursos específicos. Por exemplo, você pode verificar se
uma certa propriedade existe em objetos globais, criar um
elemento e verificar suas propriedades, ou testar se métodos

Escanear para baixar


desse elemento retornam valores esperados.

3.Pergunta
O que é o Modernizr e como ele ajuda na detecção de
recursos do HTML5?
Resposta:O Modernizr é uma biblioteca JavaScript de código
aberto que detecta suporte para vários recursos do HTML5 e
CSS3. Ao incluir o Modernizr em seu projeto, você pode
facilmente determinar quais recursos são suportados no
navegador de um usuário, permitindo construir uma
experiência web mais compatível e amigável.

4.Pergunta
Por que é importante detectar recursos individuais do
HTML5 em vez de tentar detectar o HTML5 como um
todo?
Resposta:Detectar recursos individuais permite que os
desenvolvedores avaliem as capacidades de aspectos
específicos do HTML5 que desejam usar, garantindo que as
aplicações web se degradem graciosamente em navegadores
que não suportam certos recursos, melhorando assim a
experiência do usuário.

Escanear para baixar


5.Pergunta
Você pode dar um exemplo de como verificar o suporte à
geolocalização?
Resposta:Para verificar o suporte à geolocalização, você pode
acessar o objeto navigator no navegador. Se
'navigator.geolocation' estiver definido, então o navegador
suporta geolocalização. Isso pode ser feito com uma simples
instrução condicional em JavaScript.

6.Pergunta
Qual é um exemplo de como testar o suporte ao canvas?
Resposta:Para testar o suporte ao canvas, crie um novo
elemento de canvas usando
'document.createElement('canvas')' e depois verifique se o
método 'getContext' existe nesse elemento (por exemplo, 'if
(canvas.getContext) { ... }'). Se existir, o suporte ao canvas
está disponível.

7.Pergunta
Como você verifica os formatos de vídeo suportados?
Resposta:Você pode criar um elemento de vídeo e usar o
método 'canPlayType' para testar codecs específicos. Por

Escanear para baixar


exemplo, você pode chamar
'videoElement.canPlayType('video/mp4')' e verificar se ele
retorna uma string não vazia, indicando suporte.

8.Pergunta
O que você deve fazer para garantir que está utilizando as
últimas funcionalidades do Modernizr?
Resposta:Sempre certifique-se de incluir a versão mais
recente do Modernizr em seu projeto para se beneficiar de
capacidades de detecção aprimoradas e suporte para novos
recursos do HTML5 e CSS3.

Escanear para baixar


Capítulo 4 | 3. O Que Tudo Isso Significa?|
Perguntas e respostas
1.Pergunta
Qual é a importância da declaração do doctype em
HTML e como ela evoluiu ao longo do tempo?
Resposta:A declaração do doctype é crucial porque
informa ao navegador qual modo de rendering
utilizar para a página—modo quirks ou modo
standards. A evolução do doctype começou com o
Internet Explorer 5 para Mac, quando a Microsoft
percebeu que o suporte aprimorado a padrões
quebrava páginas antigas devido à dependência de
peculiaridades de rendering dos navegadores
antigos. Isso levou à criação de um sistema de troca
de modos baseado na presença ou ausência de um
doctype, resultando no modo quirks para
compatibilidade com páginas desatualizadas e no
modo standards para rendering moderna.
Compreender e implementar corretamente o
doctype é essencial para o desenvolvimento web

Escanear para baixar


moderno, pois garante que as páginas da web sejam
renderizadas de forma consistente em todos os
navegadores. O doctype do HTML5 simplificou
significativamente esse processo, reduzindo-o a uma
única linha: <!DOCTYPE html>.

2.Pergunta
O que devo sempre incluir em meus documentos HTML
em relação à codificação de caracteres, e por quê?
Resposta:Você deve sempre especificar uma codificação de
caracteres em cada documento HTML que você servir. Não
declarar uma codificação de caracteres pode levar a
caracteres mal interpretados e potenciais vulnerabilidades de
segurança. A codificação de caracteres informa ao navegador
como decodificar os bits de dados em texto legível. A
maneira preferida no HTML5 é usar <meta charset="utf-8"
/>, pois é amplamente suportada e garante que seu conteúdo
seja exibido corretamente em diferentes navegadores.

3.Pergunta
Como os elementos de relação de link do HTML5
melhoram a navegação na web e quais são alguns

Escanear para baixar


exemplos?
Resposta:O HTML5 introduziu elementos de relação de link,
que fornecem informações contextuais sobre hyperlinks ao
explicar por que um link existe. Por exemplo,
'rel="stylesheet"' indica uma folha de estilos, enquanto
'rel="alternate"' pode ser usado para feeds. Isso permite que
navegadores e mecanismos de busca entendam melhor o
propósito de diferentes links, melhorando assim a navegação
e indexação. O uso adequado das relações de link ajuda a
otimizar a estrutura do site e aprimora a experiência do
usuário, guiando-o para conteúdos relevantes.

4.Pergunta
Quais novos elementos semânticos foram introduzidos no
HTML5 e quais são seus propósitos?
Resposta:O HTML5 introduziu vários novos elementos
semânticos destinados a tornar o conteúdo da web mais
compreensível tanto para navegadores quanto para
desenvolvedores. Estes incluem:<ul><li><section> -
Representa um agrupamento temático de conteúdo, como

Escanear para baixar


capítulos.</li><li><nav> - Indica áreas de links de
navegação.</li><li><article> - Denota uma composição
autônoma que pode ser distribuída
independentemente.</li><li><aside> - Contém conteúdo
tangencialmente relacionado ao conteúdo
circundante.</li><li><header> - Agrupa ajudas introdutórias
ou de navegação para uma seção.</li><li><footer> -
Representa informações de rodapé para sua
seção.</li><li><time> - Indica um tempo ou data
específica.</li><li><mark> - Destaca texto para referência.
</li></ul>Essa estrutura semântica melhora a acessibilidade
e a otimização para mecanismos de busca, pois o conteúdo é
mais facilmente analisado e compreendido.

5.Pergunta
Quais problemas podem surgir quando os navegadores
encontram elementos desconhecidos, especificamente em
versões mais antigas do Internet Explorer?
Resposta:Quando os navegadores encontram elementos
desconhecidos, diferentes navegadores têm diferentes

Escanear para baixar


métodos de tratamento, levando a inconsistências. Versões
mais antigas do Internet Explorer (anteriores ao IE 9)
tratariam elementos desconhecidos como nós vazios e não
permitiriam estilização, causando problemas de layout e
erros de rendering. Por exemplo, um elemento <article> não
registraria nenhum elemento filho em seu DOM, fazendo
com que fossem tratados como irmãos. Esse problema pode
ser mitigado criando um elemento dummy usando
JavaScript, o que permite que o IE reconheça e estilize
corretamente elementos desconhecidos no documento.

6.Pergunta
Por que é importante manter-se atualizado com as
últimas mudanças e padrões em HTML, especificamente
em relação à evolução de elementos e atributos?
Resposta:Manter-se atualizado com as mudanças mais
recentes em HTML é crucial porque os padrões web estão
constantemente evoluindo para melhorar a funcionalidade,
acessibilidade e desempenho. Adotar novos elementos e
atributos garante que as páginas da web tenham significado

Escanear para baixar


semântico, o que melhora a experiência do usuário e a
otimização para mecanismos de busca. Além disso, usar
métodos desatualizados pode levar a problemas de
compatibilidade e vulnerabilidades de segurança que podem
afetar negativamente o desempenho, a usabilidade e a
conformidade de um site com as práticas web modernas.
Capítulo 5 | 4. Vamos Chamar de Um Empate
(Superfície de Desenho)| Perguntas e respostas
1.Pergunta
O que é o elemento <canvas> no HTML5 e como é
utilizado?
Resposta:O elemento <canvas> no HTML5 é uma
área de bitmap dependente de resolução que permite
a renderização dinâmica de gráficos, como gráficos
ou visuais de jogos, diretamente na página da web
usando JavaScript. Ele é definido como um
retângulo sem conteúdo ou bordas inerentes, que os
desenvolvedores podem manipular usando os
métodos de desenho do JavaScript.

2.Pergunta

Escanear para baixar


Como você acessa um elemento <canvas> no DOM?
Resposta:Você pode acessar um elemento <canvas> usando o
método 'document.getElementById()' e passando o id do
elemento <canvas>, assim: 'var canvas =
document.getElementById("canvasId");'. Isso permite que
você interaja com ele programaticamente, por exemplo,
obtendo seu contexto de desenho.

3.Pergunta
Qual é a diferença entre fillRect e strokeRect em um
<canvas>?
Resposta:'fillRect' preenche um retângulo com o estilo de
preenchimento atual (o padrão é preto), enquanto 'strokeRect'
contorna um retângulo com o estilo de traçado atual,
deixando o interior não preenchido. Essa distinção permite
diversos efeitos visuais ao desenhar formas.

4.Pergunta
Você pode explicar como criar um gradiente em um
<canvas>?
Resposta:Para criar um gradiente em um <canvas>, você

Escanear para baixar


primeiro obtém o contexto de desenho. Então, você pode
criar um gradiente linear ou radial usando métodos como
'createLinearGradient()' ou 'createRadialGradient()'. Você
define paradas de cor para o gradiente, especificando cores
em certos pontos dentro do gradiente, e então aplica isso
como a fillStyle antes de desenhar uma forma.

5.Pergunta
O que você deve considerar ao desenhar texto em um
<canvas>?
Resposta:Ao desenhar texto em um <canvas>, você precisa
definir o estilo e o tamanho da fonte usando a propriedade
'font' no contexto de desenho. Além disso, o alinhamento do
texto pode ser controlado com 'textAlign' e 'textBaseline', que
afetam onde o texto está posicionado em relação às suas
coordenadas no canvas.

6.Pergunta
Por que alguém usaria <canvas> para desenhar imagens
em vez de apenas usar elementos HTML?
Resposta:Usar <canvas> para desenhar imagens oferece mais

Escanear para baixar


flexibilidade e controle sobre a renderização de gráficos,
como combinar imagens, modificá-las instantaneamente ou
criar efeitos visuais complexos, que podem não ser
facilmente alcançados com simples elementos HTML e CSS.

7.Pergunta
Como você pode 'reiniciar' um elemento <canvas>?
Resposta:Você pode reiniciar um <canvas> alterando suas
propriedades de largura ou altura. Isso apaga todos os
desenhos atuais e redefine as propriedades do contexto de
desenho para seus padrões. Por exemplo, definir
'canvas.width = canvas.width;' efetivamente limpa o canvas.

8.Pergunta
Que suporte de navegador existe para o elemento
<canvas>?
Resposta:O elemento <canvas> é suportado na maioria dos
navegadores modernos, incluindo versões recentes do
Firefox, Safari, Chrome e Opera. O Internet Explorer requer
uma biblioteca de terceiros chamada 'excanvas.js' para
implementar a API do canvas devido a versões anteriores que

Escanear para baixar


não a suportam nativamente.

9.Pergunta
Quais são alguns métodos comuns usados para desenhar
formas e linhas em um <canvas>?
Resposta:Métodos comuns para desenhar incluem 'moveTo()'
para posicionar o ponto inicial, 'lineTo()' para definir o ponto
final de uma linha, 'fillRect()' para desenhar retângulos
preenchidos com o estilo de preenchimento atual, e 'stroke()'
para renderizar o caminho atual definido por moveTo e
lineTo no canvas.
Capítulo 6 | 5. Vídeo na Web| Perguntas e respostas
1.Pergunta
Qual é a importância do elemento <video> do HTML5 em
comparação com os métodos anteriores de embutir vídeo
na web?
Resposta:Antes do HTML5, embutir vídeos em
páginas da web exigia plug-ins de terceiros (como
Flash ou QuickTime), o que causava problemas de
compatibilidade entre diferentes navegadores e
dispositivos. O elemento <video> no HTML5 oferece

Escanear para baixar


uma maneira padronizada de embutir vídeos
diretamente nas páginas da web, sem a necessidade
de software adicional. Isso significa que os vídeos
podem ser reproduzidos de forma mais consistente
em diferentes navegadores, melhorando a
acessibilidade e a experiência do usuário.

2.Pergunta
Quais são os diferentes formatos de contêiner de vídeo
mencionados no capítulo?
Resposta:O capítulo discute vários formatos de contêiner de
vídeo, incluindo MPEG-4 (.mp4), Flash Video (.flv), Ogg
(.ogv), WebM (.webm) e AVI (.avi). Cada formato tem
características distintas, compatibilidade e casos de uso.

3.Pergunta
Você pode explicar o papel dos codecs na reprodução de
vídeo?
Resposta:Codecs são algoritmos usados para codificar e
decodificar dados de áudio e vídeo. Quando um vídeo é
reproduzido, o codec comprime os dados do vídeo para

Escanear para baixar


reduzir o tamanho dos arquivos e os descomprime para a
reprodução. Codecs de vídeo comuns incluem H.264, Theora
e VP8. Diferentes codecs são otimizados para vários cenários
de reprodução, impactando na qualidade do vídeo e no
tamanho do arquivo.

4.Pergunta
Por que é necessário o suporte a múltiplos codecs e
contêineres de vídeo no vídeo HTML5?
Resposta:Diferentes navegadores suportam diferentes codecs
e formatos, então fornecer múltiplas opções garante a
máxima compatibilidade para os espectadores. Por exemplo,
alguns navegadores podem suportar H.264 e AAC em
contêineres MP4, enquanto outros podem funcionar melhor
com Theora em contêineres Ogg. Portanto, oferecer
múltiplos formatos aumenta a probabilidade de que os
usuários possam assistir ao vídeo, independentemente do
navegador.

5.Pergunta
Como o elemento <source> funciona dentro da tag
<video>?

Escanear para baixar


Resposta:O elemento <source> permite especificar múltiplos
arquivos de vídeo dentro de uma única tag <video>. Cada
elemento <source> pode ter um atributo ‘src’ apontando para
a URL do vídeo e um atributo ‘type’ indicando o formato do
vídeo. Os navegadores tentarão reproduzir a primeira fonte
que puderem suportar, otimizando tanto a experiência do
usuário quanto a banda.

6.Pergunta
Quais são algumas considerações sobre a licença para
codecs de vídeo como H.264?
Resposta:H.264 é um codec patenteado, o que significa que
existem taxas de licença envolvidas tanto para codificação
quanto para distribuição. Isso pode complicar o uso de H.264
em aplicações web, especialmente para projetos gratuitos ou
de código aberto, pois os desenvolvedores podem enfrentar
custos que limitam a acessibilidade.

7.Pergunta
Por que é importante configurar os tipos MIME em
servidores web para arquivos de vídeo?

Escanear para baixar


Resposta:Configurar os tipos MIME corretos na configuração
do seu servidor web garante que os arquivos de vídeo sejam
servidos de maneira apropriada. Se não configurados
corretamente, os navegadores podem não reconhecer o
formato do vídeo, levando a falhas na reprodução, apesar da
marcação HTML correta. Isso é crucial para garantir uma
experiência de usuário fluida.

8.Pergunta
Qual é o impacto de codecs com perdas vs sem perdas em
vídeos na web?
Resposta:Codecs com perdas comprimem os dados de vídeo
removendo algumas informações, o que pode reduzir
significativamente o tamanho do arquivo, sacrificando um
pouco da qualidade. Isso geralmente é aceitável para vídeos
na web. Em contraste, codecs sem perdas mantêm todos os
dados originais, resultando em tamanhos de arquivo maiores,
que podem não ser práticos para uso na web.

9.Pergunta
Como a codificação de vídeo com ferramentas como
HandBrake ou Firefogg ajuda na formatação de vídeo

Escanear para baixar


para HTML5?
Resposta:Ferramentas de codificação de vídeo como
HandBrake ou Firefogg ajudam a converter vídeos nos
codecs e contêineres desejados, compatíveis com os padrões
HTML5. Elas automatizam o processo de codificação,
permitindo que os usuários definam parâmetros como
resolução e taxa de bits, possibilitando a geração de várias
versões para uma compatibilidade mais ampla entre
navegadores.

10.Pergunta
De que maneiras os vídeos HTML5 podem melhorar a
experiência do usuário em sites?
Resposta:Os vídeos HTML5 permitem uma reprodução mais
suave, tempos de carregamento mais rápidos devido às
múltiplas opções de codificação e reduzem a dependência de
plug-ins de terceiros. Eles também fornecem controles
embutidos, interfaces personalizáveis e melhor acessibilidade
para diferentes dispositivos, criando uma interação mais
envolvente para os usuários.

Escanear para baixar


Capítulo 7 | 6. Você Está Aqui (E Assim Também
Estão Todos os Outros)| Perguntas e respostas
1.Pergunta
Como a API de Geolocalização garante a privacidade do
usuário ao compartilhar a localização?
Resposta:A API de Geolocalização exige
consentimento explícito do usuário antes que
qualquer dado de localização seja compartilhado
com um site. Os agentes de usuário (navegadores)
não devem enviar dados de localização a sites sem a
permissão do usuário, garantindo que os usuários
mantenham controle sobre sua privacidade.

2.Pergunta
Qual é a funcionalidade básica do método
`getCurrentPosition()`?
Resposta:O método `getCurrentPosition()` da API de
geolocalização obtém a localização geográfica atual do
usuário. Ele aceita uma função de callback que processa os
dados de localização quando disponíveis, mas não fornecerá
detalhes da localização até que o usuário tenha concedido

Escanear para baixar


permissão.

3.Pergunta
O que acontece se um usuário negar o acesso à solicitação
de localização?
Resposta:Se um usuário negar o acesso à sua localização, a
função de callback de erro é ativada, recebendo um objeto
PositionError com o código '1', que indica
'PERMISSION_DENIED'. Isso significa que o site não pode
acessar a localização do usuário.

4.Pergunta
Em quais cenários uma posição de baixa precisão pode
ser suficiente?
Resposta:Uma posição de baixa precisão é adequada para
aplicações como encontrar negócios próximos ou listagens de
filmes, onde a localização precisa é menos crítica. Por
exemplo, se você só precisa saber quais cinemas estão a
algumas quadras, ter uma precisão aproximada é muitas
vezes suficiente.

5.Pergunta
Como o método `watchPosition()` difere de

Escanear para baixar


`getCurrentPosition()`?
Resposta:O método `watchPosition()` monitora
continuamente a localização do usuário e chama uma função
de callback de sucesso toda vez que há uma mudança na
posição, ao contrário de `getCurrentPosition()`, que obtém a
localização apenas uma vez. É ideal para aplicações que
requerem atualizações em tempo real, como navegação.

6.Pergunta
Qual é o propósito do objeto `PositionOptions` na
geolocalização?
Resposta:O objeto `PositionOptions` permite que os
desenvolvedores especifiquem parâmetros para solicitações
de localização, incluindo 'enableHighAccuracy' para
localização precisa, 'timeout' para quanto tempo esperar por
uma resposta de localização, e 'maximumAge' para retornar
dados de posição armazenados em cache, se ainda forem
válidos.

7.Pergunta
Como a geolocalização funciona em dispositivos móveis?

Escanear para baixar


Resposta:Dispositivos móveis podem usar dois métodos para
geolocalização: triangulação usando a proximidade de torres
de celular para uma localização aproximada ou GPS para
posicionamento preciso. A escolha entre esses métodos
impacta a precisão e o consumo de energia.

8.Pergunta
Qual o papel do consentimento do usuário no processo de
geolocalização?
Resposta:O consentimento do usuário é crucial no processo
de geolocalização; navegadores exigem que os usuários
confirmem se permitem o compartilhamento de sua
localização antes que quaisquer dados de localização possam
ser acessados. Esse processo garante que os usuários tenham
controle e possam proteger sua privacidade.

9.Pergunta
Quais são alguns dos desafios associados à API de
geolocalização?
Resposta:Os desafios incluem garantir o consentimento do
usuário, lidar com diferentes níveis de precisão com base no

Escanear para baixar


método utilizado, possíveis problemas de rede e lidar com
erros de maneira eficaz quando os dados de localização estão
indisponíveis ou a permissão é negada.

10.Pergunta
Por que a propriedade `maximumAge` pode ser útil ao
fazer solicitações de localização?
Resposta:A propriedade `maximumAge` permite que os
desenvolvedores usem dados de localização armazenados em
cache anteriormente dentro de um período de tempo
especificado, reduzindo a necessidade de recalculações
frequentes e economizando bateria, especialmente se a
localização atual exata não for crucial.
Capítulo 8 | 7. O Passado, Presente e Futuro do
Armazenamento Local para Aplicações Web|
Perguntas e respostas
1.Pergunta
Quais são as principais vantagens do HTML5
Entendendo e Executando em comparação com métodos
tradicionais de armazenamento na web?
Resposta:O HTML5 Entendendo e Executando

Escanear para baixar


permite o armazenamento local persistente de pares
chave/valor nomeados diretamente no navegador
sem ser transmitido ao servidor, ao contrário dos
cookies, que podem desacelerar a aplicação e são
limitados a cerca de 4 KB de dados. O HTML5
Entendendo e Executando oferece até 5 MB de
espaço (ou mais em alguns navegadores),
tornando-se muito mais prático para aplicações
modernas.

2.Pergunta
Como as soluções anteriores de armazenamento local
impactaram o desenvolvimento do HTML5 Entendendo e
Executando?
Resposta:Soluções anteriores, como cookies, userData no
Internet Explorer, cookies do Flash e Google Gears
destacaram a necessidade de uma forma padronizada e
consistente de lidar com o armazenamento local em todos os
navegadores. Essas soluções muitas vezes eram limitadas,
específicas para navegadores ou exigiam plugins de terceiros,

Escanear para baixar


o que se tornou uma barreira para desenvolvedores e
usuários. O HTML5 Entendendo e Executando visou
resolver esses problemas ao fornecer um recurso nativo
confiável.

3.Pergunta
Como os desenvolvedores podem verificar o suporte ao
HTML5 Entendendo e Executando em um navegador?
Resposta:Os desenvolvedores podem verificar o suporte ao
HTML5 Entendendo e Executando usando a seguinte função
JavaScript: function supports_html5_storage() { return
('localStorage' in window) && window['localStorage'] !==
null; } Alternativamente, podem usar a biblioteca Modernizr
para detectar o suporte.

4.Pergunta
Descreva como o mecanismo de armazenamento funciona
no HTML5 Entendendo e Executando. Como os dados
são registrados e acessados?
Resposta:O HTML5 Entendendo e Executando funciona
usando pares chave/valor nomeados, onde cada chave é uma
string e o valor correspondente pode ser qualquer tipo de

Escanear para baixar


dado que é convertido em string para armazenamento. Os
desenvolvedores podem usar métodos como setItem() e
getItem() para armazenar e recuperar valores, ou notação
abreviada com colchetes. Por exemplo, localStorage['chave']
= 'valor'; permite armazenar dados, e recuperá-los seria
localStorage['chave'];.

5.Pergunta
O que acontece quando os desenvolvedores ultrapassam o
limite de armazenamento no HTML5 Entendendo e
Executando?
Resposta:Se o limite de armazenamento for ultrapassado,
uma exceção QUOTA_EXCEEDED_ERR é lançada. Os
navegadores atualmente não permitem que os
desenvolvedores solicitem programaticamente mais espaço
de armazenamento, criando uma limitação inerente de quanto
dado pode ser armazenado.

6.Pergunta
Você pode dar um exemplo de como o HTML5
Entendendo e Executando pode ser usado para salvar o
progresso de um jogo?

Escanear para baixar


Resposta:Em um jogo como Halma, o estado do jogo (como
posições dos jogadores e contagem de movimentos) pode ser
salvo usando localStorage sempre que ocorrerem mudanças.
Por exemplo, uma função como saveGameState() pode ser
implementada para salvar o estado do jogo no localStorage, e
ao carregar a página, uma função resumeGame() pode
restaurar esse estado do localStorage, permitindo que os
jogadores continuem de onde pararam mesmo após fechar o
jogo.

7.Pergunta
Quais são algumas visões concorrentes para
armazenamento local além do HTML5 Entendendo e
Executando?
Resposta:Visões concorrentes para armazenamento local
incluem o Banco de Dados Web SQL e a API Indexed
Database (IndexedDB). O Web SQL permite interações
semelhantes a SQL para gerenciar bancos de dados
diretamente do JavaScript, enquanto o IndexedDB fornece
uma abordagem de armazenamento de objetos para lidar com

Escanear para baixar


grandes quantidades de dados estruturados em um sistema
baseado em transações sem usar linguagem de consulta
estruturada.

8.Pergunta
Como as limitações do HTML5 Entendendo e Executando
se comparam aos bancos de dados tradicionais?
Resposta:O HTML5 Entendendo e Executando é limitado a 5
MB de armazenamento baseado em strings, o que não
acomoda conjuntos de dados maiores ou relações de dados
mais complexas. Os bancos de dados tradicionais oferecem
capacidade de armazenamento muito maior, suportam
estruturas de dados complexas e permitem consultas e
transações sofisticadas, tornando-os mais adequados para
aplicações com necessidades extensivas de gerenciamento de
dados.

9.Pergunta
Qual é o impacto do uso de cookies em relação às
tecnologias de armazenamento local?
Resposta:Os cookies podem levar a problemas de

Escanear para baixar


desempenho, uma vez que são enviados com cada solicitação
HTTP, potencialmente desacelerando as aplicações e
consumindo largura de banda desnecessária. Eles também
têm limitações de tamanho rigorosas. Em contraste, as
tecnologias de armazenamento local como o HTML5
Entendendo e Executando proporcionam melhor desempenho
ao manter os dados do lado do cliente sem transmissão
automática ao servidor, assim melhorando a experiência do
usuário ao reduzir os tempos de carregamento.

10.Pergunta
Por que o HTML5 Entendendo e Executando é
considerado um avanço significativo em aplicações web?
Resposta:O HTML5 Entendendo e Executando representa
um avanço importante ao oferecer uma solução padronizada
e abrangente para o armazenamento de dados do lado do
cliente em todos os navegadores modernos, permitindo que
os desenvolvedores construam aplicações web mais ricas e
interativas sem precisar depender de plugins de terceiros ou
enfrentar problemas de compatibilidade.

Escanear para baixar


Capítulo 9 | 8. Vamos Levar Isso para Fora|
Perguntas e respostas
1.Pergunta
Qual é o conceito fundamental por trás das aplicações
web offline apresentado no Capítulo 8?
Resposta:O conceito fundamental por trás das
aplicações web offline é que elas permitem que os
usuários acessem funcionalidades web essenciais
sem precisar de uma conexão de internet constante.
Isso é alcançado através de um arquivo manifesto
que lista todos os recursos necessários, permitindo
que os navegadores os armazenem localmente e
alternem para essas versões armazenadas quando
estiverem offline.

2.Pergunta
Como funciona o mecanismo de cache em aplicações
offline HTML5?
Resposta:As aplicações offline HTML5 usam um arquivo
manifesto contendo URLs de recursos, como arquivos
HTML, CSS e JavaScript. Quando um usuário acessa a

Escanear para baixar


aplicação web online pela primeira vez, o navegador lê o
manifesto, baixa os recursos e os armazena em um cache
local. Mais tarde, se o usuário tentar acessar a aplicação
offline, o navegador recupera os recursos do cache local,
permitindo que a aplicação funcione sem uma conexão de
internet.

3.Pergunta
Qual é o papel do desenvolvedor na gestão de dados ao
usar capacidades offline?
Resposta:O desenvolvedor é responsável por gerenciar o
armazenamento de dados locais enquanto a aplicação está
offline. Isso envolve criar mecanismos para salvar dados
gerados pelo usuário ou o estado da aplicação localmente e,
posteriormente, sincronizar esses dados com o servidor
remoto assim que a aplicação voltar a estar online.

4.Pergunta
O que acontece quando o status online de um usuário
muda?
Resposta:Quando o status online de um usuário muda, como

Escanear para baixar


ao ir de online para offline ou vice-versa, diferentes eventos
são acionados no DOM. Os desenvolvedores podem ouvir
essas mudanças e implementar comportamentos como
notificar os usuários sobre seu status ou gerenciar a
sincronização de dados de acordo.

5.Pergunta
O que um desenvolvedor deve incluir em seu documento
HTML para habilitar capacidades offline?
Resposta:Para habilitar capacidades offline em um
documento HTML, um desenvolvedor deve incluir um
atributo manifesto dentro do elemento <html>, apontando
para a localização do arquivo de manifesto de cache. Isso
permite que o navegador saiba quais recursos armazenar para
uso offline.

6.Pergunta
Você pode explicar a importância do arquivo manifesto
em aplicações web offline?
Resposta:O arquivo manifesto é crucial porque atua como o
plano da aplicação offline. Ele lista todos os recursos que

Escanear para baixar


precisam ser armazenados em cache para que a aplicação
funcione offline de maneira eficaz. Sem esse arquivo, não
haveria como o navegador entender quais arquivos precisam
ser armazenados localmente.

Escanear para baixar


Capítulo 10 | 9. Uma Forma de Loucura| Perguntas
e respostas
1.Pergunta
Quais são os benefícios de usar os novos tipos de entrada
definidos em HTML5 para formulários da web?
Resposta:Ao integrar novos tipos de entrada do
HTML5, os desenvolvedores podem melhorar
significativamente a experiência do usuário. Por
exemplo, usar <input type="email"> otimiza o
campo de entrada para endereços de email,
apresentando aos usuários um teclado na tela
adaptado para email, que inclui teclas para os
símbolos @ e .. Da mesma forma, <input
type="url"> modifica as entradas para endereços da
web, e tipos como <input type="number"> e <input
type="range"> fornecem interfaces que permitem
aos usuários selecionar facilmente valores aceitáveis.
Além disso, os recursos de validação nos
navegadores podem verificar automaticamente
formatos como emails ou URLs, reduzindo erros e a

Escanear para baixar


dependência de JavaScript para validação do lado
do cliente.

2.Pergunta
Como o atributo placeholder melhora a interação do
usuário com os formulários?
Resposta:O atributo placeholder permite que os
desenvolvedores forneçam dicas diretamente dentro dos
campos de entrada, que desaparecem quando o usuário
começa a digitar. Essa orientação contextual torna os
formulários menos intimidador e ajuda os usuários a entender
o que se espera. Por exemplo, quando um campo de entrada
pede um termo de pesquisa com um placeholder de "Pesquise
aqui...", os usuários imediatamente sabem qual é seu
propósito, sem sobrecarregar a interface do usuário com
rótulos.

3.Pergunta
Por que o atributo autofocus é benéfico e como ele difere
das soluções baseadas em JavaScript?
Resposta:O atributo autofocus simplifica a gestão do foco de

Escanear para baixar


entrada, garantindo que um campo designado esteja focado
assim que a página é carregada, sem precisar de JavaScript.
Esse comportamento é consistente em todas as páginas da
web e navegadores, tornando-o amigável ao usuário. Em
contraste, implementações em JavaScript podem resultar em
inconsistências e não atender às necessidades de
acessibilidade, enquanto o autofocus do HTML5 pode ser
facilmente desativado pelos usuários, respeitando as
preferências individuais.

4.Pergunta
Quais desafios surgem ao solicitar entradas numéricas
dos usuários e como o HTML5 os aborda?
Resposta:Ao coletar dados numéricos, é crucial especificar
restrições como intervalos ou incrementos. O <input
type="number"> do HTML5 permite atributos como min,
max e step, facilitando o controle preciso da entrada. Além
disso, esse tipo fornece métodos JavaScript para ajustar
valores de forma incremental, oferecendo uma maneira mais
interativa para os usuários inserirem números. Esses

Escanear para baixar


controles podem comunicar visualmente as restrições,
reduzindo erros de entrada.

5.Pergunta
Você pode descrever a importância da validação de
entrada automática em formulários HTML5?
Resposta:A validação de entrada automática transfere a tarefa
complexa de garantir a correção dos dados dos
desenvolvedores para os navegadores. Por exemplo, quando
um usuário insere um endereço de email em um campo
<input type="email">, o navegador verificará
automaticamente se ele está de acordo com o formato
correto. Isso significa que os usuários receberão feedback
instantâneo, o que é especialmente benéfico, uma vez que
nem todos os usuários têm JavaScript habilitado. Isso ajuda a
criar aplicações web mais robustas e amigáveis.

6.Pergunta
Por que os desenvolvedores podem querer usar <input
type="search"> em vez de <input type="text"> para
caixas de pesquisa?
Resposta:Usar <input type="search"> melhora a experiência

Escanear para baixar


de entrada de pesquisa, permitindo que os navegadores
implementem elementos de interface nativos, como um botão
'x' para limpar em Safari, que fornece aos usuários uma
maneira limpa de limpar sua pesquisa. Além disso, sinaliza
para o navegador que este é um campo de entrada de
pesquisa, o que pode levar a um melhor estilo e
comportamento que se alinha às expectativas dos usuários
para pesquisa.

7.Pergunta
Quais limitações existem para os novos tipos de entrada
HTML5 em relação à compatibilidade com navegadores?
Resposta:Embora os tipos de entrada HTML5 proporcionem
melhorias significativas na usabilidade dos formulários da
web, a compatibilidade não é universal. Alguns navegadores
mais antigos podem não reconhecer novos tipos como <input
type="date">, retornando a um campo de texto simples. Os
desenvolvedores podem mitigar isso usando bibliotecas de
detecção de recursos ou scripts de fallback para garantir que
todos os usuários, independentemente do navegador, tenham

Escanear para baixar


uma experiência funcional.

8.Pergunta
Explique a importância das soluções de fallback para
entradas HTML5, particularmente em relação à
experiência do usuário.
Resposta:Soluções de fallback são cruciais para manter a
experiência do usuário em diferentes navegadores. Se um
navegador não suporta um tipo de entrada HTML5
específico, implementar um fallback permite que os
desenvolvedores utilizem JavaScript ou tipos de entrada
tradicionais para garantir que o formulário seja funcional.
Isso significa que mesmo que um elemento de interface
avançado, como um seletor de data, esteja indisponível, os
usuários ainda podem interagir eficazmente com o formulário
sem encontrar funcionalidades quebradas.

9.Pergunta
Qual é o papel dos frameworks JavaScript em aprimorar
as entradas de formulários HTML5 e abordar as
diferenças entre navegadores?
Resposta:Frameworks JavaScript podem fornecer

Escanear para baixar


comportamentos de entrada consistentes em diferentes
navegadores e oferecer recursos adicionais, como estilo
personalizado, validação avançada e implementações de
fallback para recursos HTML5 não suportados. Enquanto os
tipos de entrada HTML5 melhoram a usabilidade, o uso de
frameworks ajuda a gerenciar discrepâncias, garantindo que
uma experiência uniforme seja mantida, independentemente
da escolha do navegador do usuário.
Capítulo 11 | 10. "Distribuído," "Extensibilidade," e
Outras Palavras Chiques| Perguntas e respostas
1.Pergunta
Qual é o propósito do microdata no HTML5?
Resposta:O microdata é usado para adicionar
semântica adicional aos elementos HTML,
permitindo que os autores da web forneçam dados
estruturados sobre pessoas, organizações, eventos e
muito mais. Esses dados estruturados podem
aprimorar a forma como as informações são
apresentadas nos resultados de busca, tornando-as

Escanear para baixar


mais relevantes e úteis para os usuários.

2.Pergunta
Como posso definir meu próprio vocabulário de
microdata?
Resposta:Para definir seu vocabulário de microdata, você
precisa criar um namespace usando uma URL, idealmente
uma que você controle. Por exemplo, você pode criar um
vocabulário de Pessoa usando uma URL como
http://data-vocabulary.org/Person. Dentro desse vocabulário,
você definirá propriedades nomeadas como nome, foto e
URL que descrevem os dados que deseja anotar.

3.Pergunta
O que são pares nome/valor em microdata?
Resposta:Em microdata, pares nome/valor referem-se às
propriedades definidas em seu vocabulário (o nome) e aos
dados reais correspondentes que essas propriedades
representam (o valor). Por exemplo, se 'nome' é uma
propriedade, seu valor poderia ser 'Mark Pilgrim'.

4.Pergunta
Como você integra microdata em HTML existente?

Escanear para baixar


Resposta:Você adiciona microdata incluindo atributos
específicos em elementos HTML existentes. Por exemplo,
você adicionaria 'itemscope' e 'itemtype' em um elemento pai
para declarar o vocabulário, e então usaria 'itemprop' em
elementos filhos para indicar propriedades individuais.

5.Pergunta
Por que você poderia usar vocabulários aninhados em
microdata?
Resposta:Vocabulários aninhados permitem uma estrutura de
dados mais detalhada e organizada. Por exemplo, ao marcar
um endereço dentro das informações de uma pessoa, você
pode usar um vocabulário de Endereço separado aninhado
dentro do vocabulário de Pessoa para definir claramente
diferentes componentes como endereço, cidade e código
postal.

6.Pergunta
As propriedades de microdata podem ter múltiplos
valores?
Resposta:Sim, uma propriedade pode ter múltiplos valores.

Escanear para baixar


Por exemplo, você pode ter vários URLs marcados sob a
mesma propriedade, como vários links associados ao perfil
de uma pessoa.

7.Pergunta
Como a implementação de microdata beneficia a
visibilidade em mecanismos de busca?
Resposta:Implementar microdata pode melhorar como sua
página é exibida nos resultados de busca. Mecanismos de
busca como o Google podem extrair informações
estruturadas e mostrá-las diretamente nos resultados, como
exibir o nome, título e até mesmo imagens de uma pessoa, o
que pode chamar a atenção do usuário.

8.Pergunta
Qual é a importância do atributo 'itemprop'?
Resposta:O atributo 'itemprop' é usado para declarar uma
propriedade específica do item que está sendo descrito dentro
de um vocabulário. Ele informa ao processador de microdata
o que os dados no elemento HTML representam.

9.Pergunta
Como o microdata funciona junto com outros formatos

Escanear para baixar


de dados?
Resposta:O microdata é projetado para complementar o
HTML e pode coexistir com outros formatos de dados, como
RDFa e microformats. Ele fornece uma maneira padronizada
de adicionar semântica ao HTML sem entrar em conflito com
outros métodos.

10.Pergunta
Quais precauções você deve tomar ao usar dados
invisíveis em microdata?
Resposta:Ao usar dados invisíveis, como coordenadas de
geolocalização, assegure-se de que eles permaneçam
atualizados e em sincronia com os dados visíveis. Isso ajuda
a manter a precisão e evita que os dados se tornem obsoletos.
Capítulo 12 | A. O Guia Quase-Alfabético
Tudo-em-Um para Detectar Tudo| Perguntas e
respostas
1.Pergunta
Qual é o propósito de usar a detecção de recursos no
HTML5?
Resposta:O propósito de usar a detecção de recursos

Escanear para baixar


no HTML5 é garantir que sua aplicação web se
adapte de forma elegante às capacidades de
diferentes navegadores e suporte novos recursos sem
comprometer a funcionalidade. Isso permite que os
desenvolvedores escrevam um código mais robusto e
flexível, verificando se determinados recursos do
HTML5 estão disponíveis antes de usá-los.

2.Pergunta
Você pode explicar como verificar se o navegador suporta
elementos de áudio?
Resposta:Para verificar se um navegador suporta elementos
de áudio no HTML5, você pode criar um elemento de áudio
e usar o método canPlayType. Por exemplo, você pode
escrever: 'var a = document.createElement("audio"); return
!!(a.canPlayType &&
a.canPlayType("audio/mpeg;").replace(/no/, ""));'. Este
fragmento de código retornará verdadeiro se o navegador
puder reproduzir áudio MP3.

3.Pergunta

Escanear para baixar


Qual é a função do atributo 'sandbox' em um elemento
iframe?
Resposta:O atributo 'sandbox' ativa um conjunto adicional de
restrições para o conteúdo em um iframe, proporcionando
uma camada extra de segurança. Ao adicionar 'sandbox' ao
seu iframe, ele impede que o conteúdo do iframe execute
scripts, formulários e outras ações potencialmente arriscadas,
a menos que explicitamente permitido por valores adicionais.
Isso ajuda a mitigar riscos de segurança provenientes de
conteúdo não confiável.

4.Pergunta
Como os desenvolvedores podem utilizar o Modernizr em
suas aplicações web?
Resposta:Os desenvolvedores podem utilizar o Modernizr
incluindo-o em seus projetos web, o que permite detectar
quais recursos do HTML5 e CSS3 estão disponíveis no
navegador do usuário. Ele fornece uma API simples para
verificar o suporte a recursos e facilita a criação de
alternativas ou polyfills para recursos que não são suportados

Escanear para baixar


nativamente por todos os navegadores.

5.Pergunta
Qual é a importância do atributo 'autofocus' em
elementos de entrada?
Resposta:O atributo 'autofocus' em elementos de entrada é
importante porque automaticamente foca no campo de
entrada especificado quando a página é carregada. Isso
melhora a experiência do usuário, permitindo que os usuários
comecem a digitar sem precisar clicar no campo, tornando as
interações mais fluídas, especialmente em formulários.

6.Pergunta
Quais benefícios a API de Local Storage fornece para
aplicações web?
Resposta:A API de Local Storage oferece vários benefícios,
incluindo o armazenamento persistente de dados em pares
chave-valor no navegador do usuário, que persiste mesmo
quando o navegador é fechado. Isso permite que as
aplicações web armazenem preferências do usuário, dados de
sessão ou qualquer outra coisa que melhore a experiência do

Escanear para baixar


usuário sem precisar de um servidor. Também melhora o
desempenho da aplicação ao reduzir as requisições ao
servidor.

7.Pergunta
O que são Web Sockets e como eles aprimoram a
comunicação em tempo real em aplicações web?
Resposta:Web Sockets são um protocolo que permite canais
de comunicação em duplex completo sobre uma única
conexão TCP. Eles aprimoram a comunicação em tempo real
em aplicações web permitindo que servidores enviem dados
para clientes sem que os clientes precisem ficar consultando
o servidor constantemente por atualizações. Isso permite
interações mais eficientes e responsivas, especialmente em
aplicações como serviços de chat ou notificações ao vivo.

8.Pergunta
Como você verifica o suporte para formatos de vídeo do
HTML5 em navegadores?
Resposta:Para verificar o suporte para formatos de vídeo do
HTML5 em navegadores, você pode criar um elemento de

Escanear para baixar


vídeo e usar canPlayType para consultar formatos
específicos. Por exemplo, você escreveria: 'var v =
document.createElement("video"); return !!(v.canPlayType
&& v.canPlayType("video/mp4; codecs='avc1.42E01E,
mp4a.40.2'").replace(/no/, ""));'. Isso retornará verdadeiro se
o navegador puder reproduzir o formato de vídeo
especificado.

9.Pergunta
Quais são as limitações do uso da API de File no
HTML5?
Resposta:As limitações do uso da API de File no HTML5
são principalmente a dependência de ações do usuário (a
entrada de arquivos deve ser acionada por interação do
usuário), restrições sobre os tipos e tamanhos de arquivos
que podem ser manipulados e que não é possível acessar
arquivos no sistema do usuário diretamente sem o
consentimento dele. Além disso, a capacidade de usar a API
de File pode variar dependendo das implementações de
diferentes navegadores.

Escanear para baixar


10.Pergunta
Qual é o papel da API de Geolocalização em aplicações
web modernas?
Resposta:A API de Geolocalização desempenha um papel
crucial em aplicações web modernas ao permitir que os
desenvolvedores acessem a localização geográfica dos
usuários através de seus dispositivos. Essa funcionalidade
pode ser utilizada para serviços baseados em localização,
como mapas, recomendações locais ou entrega de conteúdo
adaptado à localização atual do usuário. No entanto, requer
permissão explícita dos usuários por motivos de privacidade.

11.Pergunta
Por que o uso do elemento canvas é significativo no
desenvolvimento em HTML5?
Resposta:O uso do elemento canvas é significativo no
desenvolvimento em HTML5 porque fornece uma maneira
poderosa e flexível de gerar gráficos dinamicamente através
de scripts, especificamente utilizando JavaScript. Isso
permite que os desenvolvedores criem conteúdo visual

Escanear para baixar


dinâmico, jogos ou animações interativas diretamente no
navegador, aproveitando as capacidades do mecanismo de
renderização do navegador.

Escanear para baixar


HTML5 Entendendo e Executando Quiz
e teste
Ver a resposta correta no site do Bookey

Capítulo 1 | HTML5 Entendendo e Executando|


Quiz e teste
1.HTML5 é o sucessor direto do HTML 4.01,
XHTML 1.0 e XHTML 1.1.
2.HTML5 só pode ser acessado usando navegadores
específicos e não suporta acesso móvel.
3.O livro traz recomendações sobre o uso de exemplos de
código, permitindo uso livre sem permissão.
Capítulo 2 | 1. Como Chegamos Aqui?| Quiz e teste
1.O desenvolvimento de HTML5 não tem relação
com as implementações dos navegadores.
2.O cabeçalho Content-Type desempenha um papel crucial
na forma como os recursos da web são renderizados pelos
navegadores.
3.O W3C e o Grupo de Trabalho WHAT sempre estiveram
em desacordo em relação ao desenvolvimento do HTML.

Escanear para baixar


Capítulo 3 | 2. Detectando Recursos do HTML5|
Quiz e teste
1.HTML5 deve ser detectado recurso por recurso,
em vez de apenas verificar o suporte geral ao
HTML5.
2.Modernizr é uma biblioteca de detecção de HTML5 que
não precisa ser incluída na seção head de uma página da
web.
3.Você pode testar o suporte a canvas criando um elemento e
verificando se suas propriedades existem.

Escanear para baixar


Capítulo 4 | 3. O Que Tudo Isso Significa?| Quiz e
teste
1.A declaração do doctype em HTML5 é
simplificada para `<!DOCTYPE html>`, que deve
sempre ser colocada na primeira linha do
documento para evitar problemas de renderização.
2.O elemento raiz em HTML5 deve incluir atributos `xmlns`
e `xml:lang` para garantir uma renderização adequada.
3.HTML5 introduz novos elementos semânticos como
`<section>`, `<nav>` e `<article>` para melhorar a estrutura
das páginas da web.
Capítulo 5 | 4. Vamos Chamar de Um Empate
(Superfície de Desenho)| Quiz e teste
1.O elemento `<canvas>` em HTML5 é um
retângulo vazio com uma borda visível.
2.JavaScript é utilizado para desenhar no canvas usando
vários métodos como `fillRect` e `clearRect`.
3.O Internet Explorer não suporta o elemento `<canvas>` de
forma alguma.

Escanear para baixar


Capítulo 6 | 5. Vídeo na Web| Quiz e teste
1.Antes do HTML5, incorporar vídeos exigia
plug-ins de terceiros, como Flash, QuickTime ou
RealPlayer.
2.O elemento `<video>` introduzido no HTML5 pode conter
apenas um tipo de arquivo de vídeo.
3.Safari requer suporte para Theora/Vorbis em Ogg para
reproduzir vídeo HTML5.

Escanear para baixar


Capítulo 7 | 6. Você Está Aqui (E Assim Também
Estão Todos os Outros)| Quiz e teste
1.A geolocalização pode determinar a localização
física de um usuário por meio de métodos como
GPS ou Wi-Fi.
2.A API de Geolocalização permite que sites acessem dados
de localização do usuário sem o consentimento do mesmo.
3.A biblioteca `geo.js` ajuda a unificar diferentes APIs de
geolocalização em vários navegadores.
Capítulo 8 | 7. O Passado, Presente e Futuro do
Armazenamento Local para Aplicações Web| Quiz e
teste
1.O armazenamento local do HTML5 permite que
páginas da web armazenem até 5 MB de dados por
origem.
2.Os cookies são geralmente uma opção superior para
armazenamento persistente em comparação ao
armazenamento local do HTML5 porque têm limites de
tamanho maiores e são mais seguros.
3.A API de Banco de Dados Indexado (IndexedDB) é

Escanear para baixar


amplamente implementada em navegadores e fornece uma
abordagem estruturada para o armazenamento na web.
Capítulo 9 | 8. Vamos Levar Isso para Fora| Quiz e
teste
1.Uma aplicação web offline permite que os usuários
acessem seu conteúdo sem uma conexão à internet,
armazenando recursos localmente.
2.Todo desenvolvedor web deve implementar sua própria
solução para armazenar dados offline, pois não existe um
método padrão fornecido pelo HTML5.
3.O arquivo de manifesto de cache não é essencial para uma
aplicação web offline e pode ser omitido sem
consequências.

Escanear para baixar


Capítulo 10 | 9. Uma Forma de Loucura| Quiz e teste
1.O HTML5 introduz mais de uma dúzia de novos
tipos de entrada para formulários na web que
melhoram a usabilidade e a funcionalidade sem
exigir soluções alternativas.
2.O texto do placeholder nos campos de entrada afetará a
funcionalidade das entradas em navegadores que não o
suportam.
3.O tipo de entrada 'type="color"' é totalmente suportado em
todos os navegadores atuais.
Capítulo 11 | 10. "Distribuído," "Extensibilidade," e
Outras Palavras Chiques| Quiz e teste
1.Microdata permite que os desenvolvedores da web
incluam contexto adicional nas páginas da web
sem a necessidade de suporte de futuras
especificações.
2.Para usar microdata, os desenvolvedores devem declarar
propriedades nomeadas com o atributo 'itemprop' dentro de
elementos existentes, usando um namespace definido pelo

Escanear para baixar


usuário.
3.Microdata é limitado a marcar apenas eventos e não pode
ser usado para pessoas ou organizações.
Capítulo 12 | A. O Guia Quase-Alfabético
Tudo-em-Um para Detectar Tudo| Quiz e teste
1.O apêndice fornece métodos de detecção para
suporte de áudio em formatos como MP3, Vorbis,
WAV e AAC.
2.A detecção para elementos relacionados a formulários
inclui apenas os métodos de validação da tag `<form>`.
3.O guia sugere que bibliotecas como Modernizr são
desnecessárias para a detecção de recursos do HTML5.

Escanear para baixar

Você também pode gostar