Revisão de HTML
Revise os conceitos abaixo para se preparar para o próximo exame preparatório.
Noções básicas de HTML
- Papel do HTML: HTML (Hypertext Markup Language) é a base da estrutura web, definindo os elementos de uma página.
- Elementos HTML: Usados para representar conteúdo na página. A maioria deles é composta por uma tag de abertura e uma de fechamento (por exemplo,
<h1></h1>,<p></p>). - Estrutura HTML: HTML consiste em um
headebody, onde metadados, estilos e conteúdo são estruturados. - Elementos HTML Comuns: Títulos (
<h1>-<h6>), parágrafos (<p>) e contêineres div (<div>). - Elementos
div: O elementodivé um elemento HTML genérico que não possui nenhum significado semântico. Ele é usado como um contêiner genérico para conter outros elementos HTML. - Elementos Void: Não possuem uma tag de fechamento (por exemplo,
<img>). - Atributos: Adicionando metadados e comportamento aos elementos.
Identificadores e Agrupamento
- IDs: identificadores únicos de elementos.
- Classes: Agrupando elementos para estilização e comportamento.
Caracteres Especiais e Vinculação
- Entidades HTML: Usando caracteres especiais como
&e<. - Elemento
link: Vinculando a folhas de estilo externas. - Elemento
script: Incorporando arquivos JavaScript externos.
Boilerplate e Codificação
- HTML boilerplate: Estrutura básica de uma página web, que inclui os elementos
DOCTYPE,html,headebody. Deve ser usado como ponto de partida para um documento HTML. - Codificação de caracteres UTF-8: Garantindo a exibição universal de caracteres.
SEO e Compartilhamento Social
- Meta tags (
description): Fornecendo uma descrição curta para a página web e impactando o SEO. - Tags Open Graph: Melhorando o compartilhamento em redes sociais.
Elementos de Mídia e Otimização
- Elementos substituídos: Conteúdo incorporado (por exemplo, imagens e iframes).
- Otimização de mídia: Técnicas para melhorar o desempenho da mídia.
- Formatos de imagem e licenças: Entendendo os direitos de uso e os tipos.
- SVGs: gráficos vetoriais escaláveis para visuais nítidos.
Integração Multimídia
- Elementos de áudio e vídeo HTML: Incorporando multimídia.
- Incorporação com
<iframe>: Integrando conteúdo de vídeo externo.
Caminhos e Comportamento de Links
- Tipos de atributo Target: Controlando o comportamento do link.
- Caminhos absolutos vs. relativos: Navegando por diretórios.
- Sintaxe de caminho: Entendendo
/,./e../para navegação de arquivos. - Estados de link: Gerenciando diferentes interações de link (hover, active).
- Links internos: Vinculando para outra seção da página usando
href="#id"em um elementoae dando ao elemento de destino o mesmoid.
Importância do HTML Semântico
- Hierarquia estrutural para elementos de título: É importante usar o elemento de título correto para manter a hierarquia estrutural do conteúdo. O elemento
h1é o nível mais alto de título e o elementoh6é o nível mais baixo de título. - Elementos HTML de apresentação: Elementos que definem a aparência do conteúdo, por exemplo, os elementos obsoletos
center,bigefont. - Elementos HTML semânticos: Esses elementos fornecem significado à estrutura do conteúdo. Exemplos incluem:
- <header>`: Representa conteúdo introdutório.
<nav>: Contém links de navegação.<article>: Representa conteúdo autocontido.- <aside>: Usado para barras laterais ou conteúdo relacionado.
- <section>: Agrupa conteúdo relacionado dentro de um documento.
<footer>: Define o rodapé para uma seção ou documento.
Elementos HTML Semânticos
- Elemento de ênfase (
em): Marca texto que tem ênfase de estresse. - Elemento de texto idiomático (
i): Usado para destacar voz ou modo alternativo, termos idiomáticos de outra língua, termos técnicos e pensamentos. - Elemento de Importância Forte (
strong): Marca texto que tem forte importância. - Chamar a atenção para o elemento (
b): Usado para chamar a atenção para um texto que não é importante para o significado do conteúdo. - Elemento de Lista de Descrição (
dl): Usado para representar uma lista de agrupamentos termo-descrição. - Elemento Description Term (
dt): Usado para representar o termo que está sendo definido. - Elemento Description Details (
dd): Usado para representar a descrição do termo. - Elemento de Citação em Bloco (
blockquote): Usado para representar uma seção que é citada de outra fonte. - Elemento de Citação Inline (
q): Usado para representar uma citação curta inline. - Elemento de abreviação (
abbr): Usado para representar uma abreviação ou acrônimo. - Elemento Contact Address (
address): Usado para representar as informações de contato. - Elemento (Date) Time (
time): Usado para representar uma data e/ou hora. - Elemento sobrescrito (
sup): Usado para representar texto sobrescrito. - Elemento de subscrito (
sub): Usado para representar texto em subscrito. - Elemento de Código Inline (
code): Usado para representar um fragmento de código de computador. - Elemento de Anotação Não Articulada (
u): Usado para representar um trecho de texto inline que deve ser exibido de uma forma que indique que possui uma anotação não textual. - Elemento Ruby Annotation (
ruby): Usado para representar o texto de uma anotação ruby. - Elemento de tachado (
s): Usado para representar conteúdo que não é mais preciso ou relevante.
Elementos e Atributos de Formulário HTML
Formulários
- Elemento
form: Usado para criar um formulário HTML para entrada do usuário. - Tipos Comuns de Entrada:
text,email,password,radio,checkbox,number,date.- Atributo
action: usado para especificar a URL para onde os dados do formulário devem ser enviados. - Atributo
method: usado para especificar o método HTTP a ser usado ao enviar os dados do formulário. Os métodos mais comuns sãoGETePOST.
<form method="value-goes-here" action="url-goes-here">
<!-- inputs go inside here -->
</form>
- Elemento
input: usado para criar um campo de entrada para entrada do usuário. - Atributo
type: usado para especificar o tipo do campo de entrada, por exemplo,text,email,number,radioecheckbox. - Atributo
placeholder: usado para mostrar uma dica ao usuário para indicar o que deve ser inserido no campo de entrada. - Atributo
value: usado para especificar o valor do input. Se o input for do tipobutton, o atributovaluepode ser usado para definir o texto do botão. - Atributo
name: usado para atribuir um nome a um campo de entrada, que serve como chave quando os dados do formulário são enviados. Para botões de opção, atribuir o mesmonameos agrupa, permitindo que apenas uma opção do grupo seja selecionada por vez. - Atributo
size: usado para definir o número de caracteres que devem estar visíveis enquanto o usuário digita no input. - Atributo
min: pode ser usado com tipos de entrada comonumberpara especificar o valor mínimo permitido no campo de entrada. - Atributo
max: pode ser usado com tipos de entrada comonumberpara especificar o valor máximo permitido no campo de entrada. - Atributo
minlength: usado para especificar o número mínimo de caracteres exigidos em um campo de entrada. - Atributo
maxlength: usado para especificar o número máximo de caracteres permitidos em um campo de entrada. - Atributo
required: usado para especificar que um campo de entrada deve ser preenchido antes de enviar o formulário. - Atributo
disabled: usado para especificar que um campo de entrada deve estar desabilitado. - Atributo
readonly: usado para especificar que um campo de entrada é somente leitura.
<!-- Text input -->
<input
type="text"
id="name"
name="name"
placeholder="e.g. Quincy Larson"
size="20"
minlength="5"
maxlength="30"
required
/>
<!-- Number input -->
<input
type="number"
id="quantity"
name="quantity"
min="2"
max="10"
disabled
/>
<!-- Button -->
<input type="button" value="Show Alert" />
- Elemento
label: usado para criar um rótulo para um campo de entrada. - Atributo
for: usado para especificar para qual campo de entrada o rótulo é. - Associação implícita de formulário: os inputs podem ser associados a labels envolvendo o campo de input dentro do elemento
label.
<form action="">
<label>
Full Name:
<input type="text" />
</label>
</form>
- Associação explícita de formulário: os inputs podem ser associados a labels usando o atributo
forno elementolabel.
<form action="">
<label for="email">Email Address: </label>
<input type="email" id="email" />
</form>
- Elemento
button: usado para criar um botão clicável. Um botão também pode ter um atributotype, que controla o comportamento do botão quando ele é ativado, por exemplo,submit,resetebutton.
<button type="button">Show Form</button>
<button type="submit">Submit Form</button>
<button type="reset">Reset Form</button>
- Elemento
fieldset: usado para agrupar entradas relacionadas. - Elemento
legend: usado para adicionar uma legenda para descrever o grupo de entradas.
<!-- Radio group -->
<fieldset>
<legend>Was this your first time at our hotel?</legend>
<input id="yes-option" type="radio" name="hotel-stay" value="yes" />
<label for="yes-option">Yes</label>
<input id="no-option" type="radio" name="hotel-stay" value="no" />
<label for="no-option">No</label>
</fieldset>
<!-- Checkbox group -->
<fieldset>
<legend>
Why did you choose to stay at our hotel? (Check all that apply)
</legend>
<input type="checkbox" id="location" name="location" value="location" />
<label for="location">Location</label>
<input type="checkbox" id="price" name="price" value="price" />
<label for="price">Price</label>
</fieldset>
- Estado focado: este é o estado de um campo de entrada quando ele está selecionado pelo usuário.
Trabalhando com Elementos e Atributos de Tabela HTML
- Elemento de tabela: usado para criar uma tabela HTML.
- Elemento de Cabeçalho de Tabela (
thead): usado para agrupar o conteúdo do cabeçalho em uma tabela HTML. - Elemento de linha de tabela (
tr): usado para criar uma linha em uma tabela HTML. - Elemento de cabeçalho de tabela (
th): usado para criar uma célula de cabeçalho em uma tabela HTML. - Elemento do corpo da tabela (
tbody): usado para agrupar o conteúdo do corpo em uma tabela HTML. - Elemento de célula de dados da tabela (
td): usado para criar uma célula de dados em uma tabela HTML. - Elemento Table Foot (
tfoot): usado para agrupar o conteúdo do rodapé em uma tabela HTML. - Elemento
caption: usado para adicionar um título a uma tabela HTML. - Atributo
colspan: usado para especificar o número de colunas que uma célula da tabela deve abranger.
<table>
<caption>Exam Grades</caption>
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
<tr>
<td>Davis</td>
<td>Alex</td>
<td>54</td>
</tr>
<tr>
<td>Doe</td>
<td>Samantha</td>
<td>92</td>
</tr>
<tr>
<td>Rodriguez</td>
<td>Marcus</td>
<td>88</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">Average Grade</td>
<td>78</td>
</tr>
</tfoot>
</table>
Ferramentas HTML
- Validador HTML: Uma ferramenta que verifica a sintaxe do código HTML para garantir que ele seja válido.
- Inspetor DOM: Uma ferramenta que permite inspecionar e modificar a estrutura HTML de uma página web.
- Devtools: Um conjunto de ferramentas para desenvolvedores web integradas diretamente no navegador que ajudam você a depurar, analisar desempenho e analisar páginas web.
Introdução à Acessibilidade
- Diretrizes de Acessibilidade para Conteúdo Web: As Diretrizes de Acessibilidade para Conteúdo Web (WCAG) são um conjunto de diretrizes para tornar o conteúdo web mais acessível para pessoas com deficiências. Os quatro princípios do WCAG são POUR que significa Perceptível, Operável, Compreensível e Robusto.
Tecnologia Assistiva para Acessibilidade
- Leitores de tela: Programas de software que leem o conteúdo da tela do computador em voz alta. Eles são usados por pessoas cegas ou com deficiência visual para acessar a web.
- Teclados grandes ou braille: Usados por pessoas com deficiência visual para acessar a web.
- Ampliadores de tela: Programas de software que ampliam o conteúdo da tela do computador. Eles são usados por pessoas com baixa visão para acessar a web.
- Dispositivos de apontamento alternativos: Usados por pessoas com deficiências de mobilidade para acessar a web. Isso inclui dispositivos como joysticks, trackballs e touchpads.
- Reconhecimento de voz: Usado por pessoas com deficiências de mobilidade para acessar a web. Permite que os usuários controlem um computador usando a voz.
Ferramentas de Auditoria de Acessibilidade
- Ferramentas Comuns de Acessibilidade: Google Lighthouse, Wave, IBM Equal Accessibility Checker e axe DevTools são algumas das ferramentas comuns de acessibilidade usadas para auditar a acessibilidade de um site.
Melhores Práticas de Acessibilidade
- Estrutura adequada de níveis de título: Você deve usar níveis de título adequados para criar uma estrutura lógica para o seu conteúdo. Isso ajuda as tecnologias assistivas a entender o conteúdo do seu site.
- Acessibilidade e Tabelas: Ao usar tabelas, você deve usar o elemento
thpara definir células de cabeçalho e o elementotdpara definir células de dados. Isso ajuda as tecnologias assistivas a entenderem a estrutura da tabela. - Importância de os inputs terem um rótulo associado: Você deve usar o elemento
labelpara associar rótulos aos inputs de formulário. Isso ajuda as tecnologias assistivas a entenderem a finalidade do input. - Importância de um bom texto
alt: Você deve usar o atributoaltpara fornecer uma alternativa em texto para imagens. Isso ajuda as tecnologias assistivas a entenderem o conteúdo da imagem. - Importância de um bom texto de link: Você deve usar texto de link descritivo para ajudar os usuários a entender o propósito do link.
- Melhores práticas para tornar conteúdo de áudio e vídeo acessível: Você deve fornecer legendas e transcrições para conteúdo de áudio e vídeo para torná-lo acessível a pessoas com deficiência auditiva. Você também deve fornecer descrições em áudio para conteúdo de vídeo para torná-lo acessível a pessoas com deficiência visual.
- Atributo
tabindex: Usado para tornar elementos focáveis e definir a ordem relativa na qual eles devem ser navegados usando o teclado. É importante nunca usar o atributotabindexcom um valor maior que 0. Em vez disso, você deve usar um valor de 0 ou -1. - Atributo
accesskey: Usado para definir um atalho de teclado para um elemento. Isso pode ajudar usuários com deficiências de mobilidade a navegar no site com mais facilidade.
WAI-ARIA, Roles e Attributes
- WAI-ARIA: Significa Web Accessibility Initiative - Accessible Rich Internet Applications. É um conjunto de atributos que podem ser adicionados aos elementos HTML para melhorar a acessibilidade. Ele fornece informações adicionais para tecnologias assistivas sobre o propósito e a estrutura do conteúdo.
- Funções ARIA: Um conjunto de funções predefinidas que podem ser adicionadas a elementos HTML para definir seu propósito. Isso ajuda tecnologias assistivas a entender o conteúdo do site. Exemplos incluem
role="tab",role="menu"erole="alert". - Atributos
aria-labelearia-labelledby: Esses atributos são usados para dar a um elemento um nome programático (ou acessível), o que ajuda a tecnologia assistiva (como leitores de tela) a entender o propósito do elemento. Eles são frequentemente usados quando o rótulo visual de um elemento é uma imagem ou símbolo em vez de texto.aria-labelpermite que você defina o nome diretamente no atributo enquantoaria-labelledbypermite que você faça referência a um texto existente na página. - Atributo
aria-hidden: Usado para ocultar um elemento de tecnologias assistivas como leitores de tela. Por exemplo, isso pode ser usado para ocultar imagens decorativas que não fornecem nenhum conteúdo significativo. - Atributo
aria-describedby: Usado para fornecer informações adicionais sobre um elemento associando-o a outro elemento que contém as informações. Isso ajuda as tecnologias assistivas a entenderem o propósito do elemento.