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 > ul > 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"><h1>This is a top level heading</h1></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"><span style="font-size: 32px; margin: 21px 0;">Is this a top level heading?</span></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>
|