aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/glossary/semantics/index.html
blob: 66c4e5aeb2e3615c5d0f7879c33238b875748b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
title: Semântica
slug: Glossary/Semantics
tags:
  - Codificação de Script
  - Glossário
  - HTML
  - semántica
translation_of: Glossary/Semantics
original_slug: Glossario/Semantica
---
<p><span class="seoSummary">Na programação, a<strong> Semântica</strong> se refere ao <em>significado</em> de um trecho de código — por exemplo, "que efeito tem a execução dessa linha de JavaScript?", Ou "que finalidade ou função esse elemento HTML tem" (em vez de "como ele se parece?").</span></p>

<h2 id="Semântica_em_JavaScript">Semântica em JavaScript</h2>

<p>Em JavaScript, considere uma função que aceita um parâmetro de string e retorne um elemento {{htmlelement("li")}} com essa string como seu <code>textContent</code>. Você precisaria examinar o código para entender o que a função fazia se fosse chamada <code>build('Peach')</code>, ou <code>createLiWithContent('Peach')</code>?</p>

<h2 id="Semântica_em_CSS">Semântica em CSS</h2>

<p>No CSS, considere criar uma lista com elementos <code>li</code> representando diferentes tipos de frutas. Você saberia qual parte do DOM está sendo selecionada com <code>div &gt; ul &gt; li</code>, ou <code>.fruits__item</code>?</p>

<h2 id="Semântica_em_HTML">Semântica em HTML</h2>

<p>Em HTML, por exemplo, o {{htmlelement("h1")}} é um elemento semântico, que fornece o texto que envolve a representação (ou o significado) de "um cabeçalho de nível superior em sua página".</p>

<pre class="brush: html">&lt;h1&gt;This is a top level heading&lt;/h1&gt;</pre>

<p>Por padrão, a maioria das <a href="/en-US/docs/Web/CSS/Cascade#User-agent_stylesheets">folhas de estilo do agente do usuário</a> do navegador, estilizará um {{htmlelement("h1")}} com um tamanho de fonte grande para parecer um título (embora você possa estilizá-lo como quiser).</p>

<p>Por outro lado, você pode fazer qualquer elemento parecer um cabeçalho de nível superior. Considere o seguinte:</p>

<pre class="brush: html">&lt;span style="font-size: 32px; margin: 21px 0;"&gt;Is this a top level heading?&lt;/span&gt;</pre>

<p>Isso fará com que pareça um cabeçalho de nível superior, mas não tem valor semântico. Portanto, não obterá nenhum benefício extra, conforme descrito acima. Assim, é uma boa idéia usar o elemento HTML certo, para o trabalho certo.</p>

<p>O HTML deve ser codificado para representar a data que será preenchida e não com base em seu estilo de apresentação padrão. A apresentação (como deve ser) é de responsabilidade exclusiva do <a href="/en-US/docs/Web/CSS">CSS</a>.</p>

<p>Alguns dos benefícios de se escrever a marcação semântica:</p>

<ul>
 <li>Os mecanismos de pesquisa considerarão seu conteúdo como palavras-chave importantes para influenciar os rankings de pesquisa da página (see {{glossary("SEO")}})</li>
 <li>Os leitores de tela podem usá-lo como uma placa de sinalização para ajudar usuários com deficiência visual a navegar em uma página</li>
 <li>Encontrar blocos de código importantes é significativamente mais fácil do que procurar <code>div</code>s sem fim, com ou sem classes de semântica ou de nome espaçado.</li>
 <li>Sugira ao desenvolvedor o tipo de dados que serão preenchidos</li>
 <li>A nomeação semântica reflete a nomeação adequada do elemento/componente personalizado</li>
</ul>

<p>Ao abordar qual marcação usar, pergunte a si mesmo: "Quais elementos melhor descrevem/representam os dados que vou preencher?" Por exemplo, é uma lista de dados? ordenado, não ordenado? é um artigo com seções e uma parte de informações relacionadas? lista as definições? é uma figura ou imagem que precisa de legenda? deve ter um cabeçalho e rodapé, além do cabeçalho e rodapé em todo o site? etc.</p>

<h2 id="Elementos_semânticos">Elementos semânticos</h2>

<p>Estes são alguns dos aproximadamente 100 <a href="/en-US/docs/Web/HTML/Element">elementos</a> semânticos disponíveis:</p>

<ul>
 <li>{{htmlelement("article")}}</li>
 <li>{{htmlelement("aside")}}</li>
 <li>{{htmlelement("details")}}</li>
 <li>{{htmlelement("figcaption")}}</li>
 <li>{{htmlelement("figure")}}</li>
 <li>{{htmlelement("footer")}}</li>
 <li>{{htmlelement("header")}}</li>
 <li>{{htmlelement("main")}}</li>
 <li>{{htmlelement("mark")}}</li>
 <li>{{htmlelement("nav")}}</li>
 <li>{{htmlelement("section")}}</li>
 <li>{{htmlelement("summary")}}</li>
 <li>{{htmlelement("time")}}</li>
</ul>

<h2 id="Saiba_mais">Saiba mais</h2>

<ul>
 <li><a href="/en-US/docs/Web/HTML/Element#Inline_text_semantics">HTML element reference</a> on MDN</li>
 <li><a href="/en-US/docs/Web/Guide/HTML/Using_HTML_sections_and_outlines#Problems_solved_by_HTML5">Using HTML sections and outlines</a> on MDN</li>
 <li>{{interwiki("wikipedia", "Semantics#Computer_science", "The meaning of semantics in computer science")}} on Wikipedia</li>
</ul>

<section id="Quick_links">
<ul>
 <li><a href="/en-US/docs/Glossary">MDN Web Docs Glossary</a>

  <ul>
   <li>{{Glossary("SEO")}}</li>
  </ul>
 </li>
 <li>Some of semantic elements in HTML
  <ul>
   <li>{{htmlelement("article")}}</li>
   <li>{{htmlelement("aside")}}</li>
   <li>{{htmlelement("details")}}</li>
   <li>{{htmlelement("figcaption")}}</li>
   <li>{{htmlelement("figure")}}</li>
   <li>{{htmlelement("footer")}}</li>
   <li>{{htmlelement("header")}}</li>
   <li>{{htmlelement("main")}}</li>
   <li>{{htmlelement("mark")}}</li>
   <li>{{htmlelement("nav")}}</li>
   <li>{{htmlelement("section")}}</li>
   <li>{{htmlelement("summary")}}</li>
   <li>{{htmlelement("time")}}</li>
  </ul>
 </li>
</ul>
</section>