aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/html/element/img/index.html
blob: b85988a451934254aa202cb35a535f788ddaac2d (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
---
title: <img>
slug: Web/HTML/Element/img
translation_of: Web/HTML/Element/img
---
<h2 id="Resumo">Resumo</h2>

<p>O <strong>elemento</strong> <strong>HTML <code>&lt;img&gt;</code> </strong> (or <em>HTML Image Element</em>) representa a inserção de imagem no documento, sendo implementado também pelo HTML5 para uma melhor experiência com o elemento {{HTMLElement("figure")}} e {{HTMLElement("figcaption")}}.</p>

<h2 id="Exemplo_da_implementação_do_HTML5">Exemplo da implementação do HTML5</h2>

<pre class="notranslate"><code>&lt;figure&gt;
  &lt;img src="imagem.jpg" alt="Minha Figura"&gt;
  &lt;figcaption&gt;Informações da Figura&lt;/figcaption&gt;
&lt;/figure&gt;</code></pre>

<div class="note">
<p><strong>Usage note:</strong><br>
 Navegadores nem sempre exibem a imagem referenciada pelo elemento. Este é o caso para navegadores não gráficos (incluindo aqueles usados por pessoas com deficiência de visão), ou se o usuário optar por não exibir imagens ou se o navegador não conseguir exibir a imagem porque é inválido ou um tipo não suportado. Nesses casos, o navegador pode substituir a imagem pelo texto definido no atributo <strong>alt </strong> deste elemento.</p>
</div>

<ul class="htmlelt">
 <li><dfn><a href="/en-US/docs/HTML/Content_categories" title="HTML/Content_categories">Content categories</a></dfn> <a href="/en-US/docs/HTML/Content_categories#Flow_content" title="HTML/Content categories#Flow content">Flow content</a>, <a href="/en-US/docs/HTML/Content_categories#Phrasing_content" title="HTML/Content categories#Phrasing content">phrasing content</a>, embedded content, palpable content. If the element has a {{htmlattrxref("usemap", "img")}} attribute, it also is a part of the interactive content category.</li>
 <li><dfn>Permitted content</dfn> None, it is an {{Glossary("empty element")}}.</li>
 <li><dfn>Tag omission</dfn> Must have a start tag and must not have an end tag.</li>
 <li><dfn>Permitted parent elements</dfn> Any element that accepts embedded content.</li>
 <li><dfn>DOM interface</dfn> {{domxref("HTMLImageElement")}}</li>
</ul>

<h2 id="Atributos">Atributos</h2>

<p><span style="line-height: 21px;">Este Elemeto inlcui o <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes">atributo global</a></span><span style="line-height: 21px;">.</span></p>

<dl>
 <dt>{{htmlattrdef("align")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}} Use the {{cssxref('vertical-align')}} CSS property</dt>
 <dd>The alignment of the image with respect to its surrounding context.</dd>
 <dt>{{htmlattrdef("alt")}}</dt>
 <dd>Este atributo define um texto alternativo que descreve a imagem. Os Usuários irão ver o texto se a URL da imagem estiver errado, a imagem não está em um dos  <a href="https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/img$edit#Supported_image_formats">formatos suportados</a> ou até a imagem ser baixada . </dd>
 <dd>
 <div class="note">
 <p><strong>Usage note: </strong>Omitting this attribute indicates that the image <em>is</em> a key part of the content, but no textual equivalent is available. Setting this attribute to the empty string indicates that this image is <em>not</em> a key part of the content; non-visual browsers may omit it from rendering.</p>
 </div>
 </dd>
 <dt>{{htmlattrdef("border")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}</dt>
 <dd>The width of a border around the image.</dd>
 <dt>{{htmlattrdef("crossorigin")}} {{HTMLVersionInline(5)}}</dt>
 <dd>This enumerated attribute indicates if the fetching of the related image must be done using CORS or not. <a href="/en-US/docs/CORS_Enabled_Image" title="CORS_Enabled_Image">CORS-enabled images</a> can be reused in the {{HTMLElement("canvas")}} element without being <em>tainted</em>. The allowed values are:
 <dl>
  <dt>anonymous</dt>
  <dd>A cross-origin request (i.e. with <code>Origin:</code> HTTP header) is performed. But no credential is sent (i.e. no cookie, no X.509 certificate and no HTTP Basic authentication is sent). If the server does not give credentials to the origin site (by not setting the <code>Access-Control-Allow-Origin:</code> HTTP header), the image will be <em>tainted</em> and its usage restricted..</dd>
  <dt>use-credentials</dt>
  <dd>A cross-origin request (i.e. with <code>Origin:</code> HTTP header) performed with credential is sent (i.e. a cookie, a certificate and HTTP Basic authentication is performed). If the server does not give credentials to the origin site (through <code>Access-Control-Allow-Credentials:</code> HTTP header), the image will be <em>tainted</em> and its usage restricted.</dd>
 </dl>
 When not present, the resource is fetched without a CORS request (i.e. without sending the <code>Origin:</code> HTTP header), preventing its non-tainted usage in {{HTMLElement('canvas')}} elements. If invalid, it is handled as if the enumerated keyword <strong>anonymous</strong> was used. See <a href="/en-US/docs/HTML/CORS_settings_attributes" title="CORS settings attributes">CORS settings attributes</a> for additional information.</dd>
 <dt>{{htmlattrdef("height")}}</dt>
 <dd>The height of the image in {{HTMLVersionInline(5)}} CSS pixels, or {{HTMLVersionInline(4)}} in pixels or as a percentage.</dd>
 <dt>{{htmlattrdef("hspace")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}</dt>
 <dd>The number of pixels of white space to insert to the left and right of the image.</dd>
 <dt>{{htmlattrdef("ismap")}}</dt>
 <dd>This Boolean attribute indicates that the image is part of a server-side map. If so, the precise coordinates of a click are sent to the server.
 <div class="note">
 <p><strong>Usage note: </strong>This attribute is allowed only if the <code>&lt;img&gt;</code> element is a descendant of an {{htmlelement("a")}} element with a valid {{htmlattrxref("href","a")}} attribute.</p>
 </div>
 </dd>
 <dt>{{htmlattrdef("longdesc")}}{{HTMLVersionInline(4)}} only</dt>
 <dd>The URL of a description of the image to be displayed, which supplements the <strong>alt</strong> text. In {{HTMLVersionInline(5)}}, use a regular {{HTMLElement("a")}} element to link to the description.</dd>
 <dt>{{htmlattrdef("name")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}</dt>
 <dd>A name for the element. It is supported in {{HTMLVersionInline(4)}} only for backward compatibility. Use the <strong>id</strong> attribute instead.</dd>
 <dt>{{htmlattrdef("src")}}</dt>
 <dd>Image URL, this attribute is obligatory for the <code>&lt;img&gt;</code> element. On browsers supporting <strong>srcset</strong>, <strong>src</strong> is ignored if this one is provided.</dd>
 <dt>{{htmlattrdef("srcset")}}{{HTMLVersionInline(5)}}</dt>
 <dd>A list of one or more strings separated by commas indicating a set of possible images for the user agent to use. Each string is composed of:
 <ol>
  <li>one URL to an image,</li>
  <li>a width descriptor, that is a positive integer directly followed by <code>'w'</code>. The default value, if missing, is the infinity.</li>
  <li>a pixel density descriptor, that is a positive floating number directly followed by <code>'x'</code>. The default value, if missing, is <code>1x</code>.</li>
 </ol>

 <p>Each string in the list must have at least a width descriptor or a pixel density descriptor to be valid. Among the list, there must be only one string containing the same tuple of width descriptor and pixel density descriptor.<br>
  The browser chooses the most adequate image to display at a given point of time.</p>
 </dd>
 <dt>{{htmlattrdef("width")}}</dt>
 <dd>The width of the image in pixels or percent.</dd>
 <dt>{{htmlattrdef("usemap")}}</dt>
 <dd>The partial URL (starting with '#') of an <a href="/en-US/docs/HTML/Element/map" title="HTML/Element/Map">image map</a> associated with the element.
 <div class="note">
 <p><strong>Usage note: </strong>You cannot use this attribute if the <code>&lt;img&gt;</code> element is a descendant of an {{htmlelement("a")}} or {{HTMLElement("button")}} element.</p>
 </div>
 </dd>
 <dt>{{htmlattrdef("vspace")}} {{deprecatedGeneric('inline','HTML4.01')}}, {{obsoleteGeneric('inline','HTML5')}}</dt>
 <dd>The number of pixels of white space to insert above and below the image.</dd>
</dl>

<h2 id="Formato_de_imagens_suportadas">Formato de imagens suportadas</h2>

<p>O padrão HTML não fornece uma lista de formatos de imagem que devem ser suportados, portanto, cada agente de usuário oferece suporte a um conjunto diferente de formatos. <a href="/pt-BR/docs/Mozilla/Gecko">Gecko</a> suporta:</p>

<ul>
 <li><a class="external" href="http://en.wikipedia.org/wiki/JPEG" title="http://en.wikipedia.org/wiki/JPEG">JPEG</a></li>
 <li><a class="external" href="http://en.wikipedia.org/wiki/Graphics_Interchange_Format" title="http://en.wikipedia.org/wiki/Graphics_Interchange_Format">GIF</a>, incluindo GIFs animados</li>
 <li><a class="external" href="http://en.wikipedia.org/wiki/Portable_Network_Graphics" title="http://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a></li>
 <li><a href="/en-US/docs/Animated_PNG_graphics" title="Animated PNG graphics">APNG</a> {{gecko_minversion_inline("1.9.2")}}</li>
 <li><a href="/en-US/docs/SVG" title="SVG">SVG</a> {{gecko_minversion_inline("2.0")}}</li>
 <li><a class="external" href="http://en.wikipedia.org/wiki/BMP_file_format" title="http://en.wikipedia.org/wiki/BMP_file_format">BMP</a></li>
 <li><a class="external" href="http://en.wikipedia.org/wiki/ICO_%28file_format%29" title="http://en.wikipedia.org/wiki/ICO_%28file_format%29">BMP ICO</a></li>
 <li><a class="external" href="http://en.wikipedia.org/wiki/ICO_%28file_format%29" title="http://en.wikipedia.org/wiki/ICO_%28file_format%29">PNG ICO</a> {{gecko_minversion_inline("9.0")}}</li>
</ul>

<h2 id="Interação_com_CSS">Interação com CSS</h2>

<p>Em relação ao CSS, uma <code>&lt;img&gt;</code> é um <a href="/pt-PT/docs/Web/CSS/Replaced_element">elemento substituído</a>. Ele não tem linha de base, ou seja, quando usado em um contexto de formatação em linha (inline) com {{cssxref("vertical-align")}}: baseline, a base inferior da imagem será colocada na linha de base do contêiner.</p>

<p>Depending of its type, an <em>image</em> may have an intrinsic dimension, but this is not a necessary condition: a SVG image has no intrinsic dimension, a raster image has one.</p>

<h2 id="Exemplos">Exemplos</h2>

<h3 id="Usando_o_texto_alternativo">Usando o texto alternativo</h3>

<p>O exemplo a seguir insere uma imagem na página e inclui o texto alternativo para acessibilidade, de forma que ele possa ser lido por programas leitores de tela ou exibido caso a imagem não carregue.</p>

<pre class="brush: html notranslate">&lt;img src="https://developer.mozilla.org/static/img/favicon144.png"
     alt="MDN logo"&gt;
</pre>

<p>{{ EmbedLiveSample('Alternative_text', '100%', '160') }}</p>



<h3 id="Link_em_imagem">Link em imagem</h3>

<p>Esse exemplo mostra como transformar uma imagem em um link. Para isso, insira a tag <code>&lt;img&gt;</code> dentro da tag do link  {{HTMLElement("a")}}. Nesse caso, é interessante fazer o texto alternativo descrever o site para o qual o link aponta, como se fosse o texto usado dentro da tag <code>&lt;a&gt;</code>.</p>



<pre class="brush: html notranslate">&lt;a href="https://developer.mozilla.org"&gt;
  &lt;img src="https://developer.mozilla.org/static/img/favicon144.png"
       alt="Visit the MDN site"&gt;
&lt;/a&gt;</pre>

<p>{{ EmbedLiveSample('Image_link', '100%', '160') }}</p>

<h3 id="Specifications" name="Specifications">Usando o atributo <code>srcset</code></h3>

<p>Nesse exemplo, o atributo <code>srcset</code> inclui uma versão do logotipo com maior resolução, a qual vai ser carregada no lugar de <code>src</code> em aparelhos de alta resolução e cujo navegador tenha suporte à <code>srcset</code>.</p>

<p>A imagem presente no atributo <code>src</code> conta como um candidato <code>1x</code> em navegadores com suporte à <code>srcset</code>.</p>

<p>As imagens exibidas dependerão do tipo de tela.</p>

<p><br>
 <strong><code>srcset</code></strong><span> define o conjunto de imagens que nós iremos permitir ao navegador escolher, e qual tamanho cada imagem tem. </span></p>

<ol>
</ol>

<pre class="brush: html notranslate"> &lt;img src="mdn-logo-sm.png"
      alt="MD Logo"
      srcset="mdn-logo-HD.png 2x, mdn-logo-small.png 15w, mdn-banner-HD.png 100w 2x" /&gt;</pre>

<p><span>Antes de cada vírgula nós escrevemos:</span></p>

<ol>
 <li>Um<strong> nome do arquivo da imagem</strong> (<code>mdn-logo-HD.png</code>).</li>
 <li>Um espaço.</li>
 <li><strong>largura da imagem </strong>ou<strong> sua densidade de pixels</strong>.</li>
</ol>

<h2 id="Acessibilidade">Acessibilidade</h2>

<h3 id="Utilizando_textos_alternativos_relevantes">Utilizando textos alternativos relevantes</h3>

<p>O valor do atributo <code>alt</code> deve descrever de maneira clara e concisa o conteúdo da imagem. Evite descrever a própria presença da imagem ou o nome de seu arquivo. Se o atributo <code>alt</code> for propositalmente deixado vazio porque a imagem não possui nenhum equivalente em texto, considere métodos alternativos para indicar o que a imagem deseja comunicar.</p>

<h4 id="Evite">Evite</h4>

<pre class="brush: html example-bad notranslate">&lt;img alt="imagem" src="penguin.jpg"&gt;
</pre>

<h4 id="Prefira">Prefira</h4>

<pre class="brush: html example-good notranslate">&lt;img alt="Um pinguim-saltador-da-rocha em pé numa praia." src="penguin.jpg"&gt;
</pre>

<p>Quando o atributo <code>alt</code> não estiver presente em uma imagem, alguns programas leitores de tela vão narrar o nome do arquivo da imagem em seu lugar, o que pode ser confuso caso o nome do arquivo não seja representativo do conteúdo da imagem.</p>

<ul>
 <li><a class="external external-icon" href="https://www.w3.org/WAI/tutorials/images/decision-tree/">An alt Decision Tree • Images • WAI Web Accessibility Tutorials</a></li>
 <li><a class="external external-icon" href="https://axesslab.com/alt-texts/">Alt-texts: The Ultimate Guide — Axess Lab</a></li>
 <li><a class="external external-icon" href="https://www.deque.com/blog/great-alt-text-introduction/">How to Design Great Alt Text: An Introduction | Deque</a></li>
 <li><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.1_—_Providing_text_alternatives_for_non-text_content">MDN Understanding WCAG, Guideline 1.1 explanations</a></li>
 <li><a class="external external-icon" href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/text-equiv-all.html">Understanding Success Criterion 1.1.1 | W3C Understanding WCAG 2.0</a></li>
</ul>

<h3 id="O_atributo_title">O atributo title</h3>

<p>O atributo {{htmlattrxref("title")}} não é um substituto aceitável para o atributo <code>alt</code>. Além disso, evite duplicar o valor do atributo <code>alt</code> no atributo <code>title</code> para uma mesma imagem. Isso pode fazer com que alguns programas leitores de tela narrem duas vezes a descrição, o que pode criar uma experiência confusa para usuários.</p>

<p>Evite usar o atributo <code>title</code> como uma forma suplementar de legenda para a descrição do <code>alt</code>. Caso a imagem precise de uma legenda, prefisa os elementos <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/figure">figure</a></code> e <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption">figcaption</a></code>.</p>

<p>O valor do atributo <code>title</code> é geralmente mostrado ao usuário como uma dica, que aparece após o usuário parar o cursor sobre a imagem. Apesar de <em>poder</em> <em>prover</em> informações adicionais ao usuário, não se deve assumir todos os usuários vão vê-lo, pois o mesmo pode possuir apenas um teclado ou uma tela de toque (touchscreen). Se você considera a informação particularmente importante para o usuário, prefira o uso de elementos inline.</p>

<ul>
 <li><a class="external external-icon" href="https://developer.paciellogroup.com/blog/2013/01/using-the-html-title-attribute-updated/">Using the HTML title attribute – updated | The Paciello Group</a></li>
</ul>

<h2 id="Specifications" name="Specifications">Especificações</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('HTML WHATWG', 'embedded-content-1.html#the-img-element', '&lt;img&gt;')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5 W3C', 'embedded-content-0.html#the-img-element', '&lt;img&gt;')}}</td>
   <td>{{Spec2('HTML5 W3C')}}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{SpecName('HTML4.01', 'struct/objects.html#h-13.2', '&lt;img&gt;')}}</td>
   <td>{{Spec2('HTML4.01')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">Compatibilidade dos navegadores</h2>

<p>{{CompatibilityTable}}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari (WebKit)</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
  <tr>
   <td>srcset attribute</td>
   <td>{{CompatChrome(34.0)}}</td>
   <td>{{CompatGeckoDesktop("32.0")}} (behind a pref)</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatOpera(21)}}</td>
   <td>{{CompatSafari(7.1)}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Phone</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
  <tr>
   <td>srcset attribute</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>iOS 8</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="Veja_também">Veja também</h2>

<ul>
 <li>{{HTMLElement("object")}} and {{HTMLElement("embed")}} elements</li>
</ul>

<div>{{HTMLRef}}</div>