{"id":3080,"date":"2015-01-19T09:44:55","date_gmt":"2015-01-19T11:44:55","guid":{"rendered":"https:\/\/www.kadunew.com\/blog\/?p=3080"},"modified":"2015-05-09T17:08:05","modified_gmt":"2015-05-09T19:08:05","slug":"aplicando-progressive-enhancement-no-html","status":"publish","type":"post","link":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html","title":{"rendered":"Aplicando Progressive Enhancement no HTML"},"content":{"rendered":"<p>Os navegadores est\u00e3o cada vez mais poderosos, e cheios de recursos. Queremos usar os \u00faltimos avan\u00e7os e fornecer uma experi\u00eancia melhor para nossos usu\u00e1rios. Entretanto, n\u00e3o podemos esquecer que esses recursos n\u00e3o est\u00e3o dispon\u00edveis em todos os navegadores. Isso quer dizer que mesmo que voc\u00ea esteja usando a \u00faltima vers\u00e3o de um navegador, um poder\u00e1 ter  suporte algum recurso e outro n\u00e3o. Isso \u00e9 muito comum de acontecer.<\/p>\n<p>A melhoria nos ajuda nas seguintes situa\u00e7\u00f5es: N\u00e3o podemos \u201cobrigar\u201d nossos usu\u00e1rios a baixarem o navegador com todos os recursos que gostar\u00edamos, usu\u00e1rios que desabilitam seu JavaScript, acessos a partir de dispositivos m\u00f3veis, pessoas com dificuldades visuais, motoras, etc.<\/p>\n<h2>O que \u00e9 a melhoria progressiva<\/h2>\n<p><a href=\"https:\/\/www.kadunew.com\/blog\/web-design\/melhoria-progressiva-e-mobile-first\">Melhoria progressiva<\/a> \u00e9 a estrat\u00e9gia de cria\u00e7\u00e3o de um site (aplicativo, sistema&#8230;) pensando primeiro em um n\u00edvel b\u00e1sico de experi\u00eancia, usu\u00e1rios com menos recursos por exemplo&#8230; E a adi\u00e7\u00e3o de <strong>melhorias funcionais<\/strong> quando o navegador suportar. Esses usu\u00e1rios t\u00eam que alcan\u00e7ar o mesmo objetivo (acesso a uma informa\u00e7\u00e3o, comprar algo&#8230;) do que aqueles usu\u00e1rios com suporte a recursos mais avan\u00e7ados em seus navegadores.<\/p>\n<div class=\"obs\">\n<strong>Melhoria progressiva<\/strong> \u00e9 iniciar seu projeto pensando primeiro nos usu\u00e1rios com recursos mais b\u00e1sicos, cen\u00e1rios mais limitados\n<\/div>\n<p>Melhora progressiva utiliza a antiga abordagem do desenvolvimento em camadas.  Usar HTML para conte\u00fado, CSS para a apresenta\u00e7\u00e3o, e JavaScript para interatividade e comportamentos. Se por algum motivo JavaScript n\u00e3o funcionar, o site ainda deve manter uma boa apar\u00eancia.<\/p>\n<p>Caso os estilos CSS n\u00e3o carregarem (veja o artigo <a href=\"https:\/\/www.kadunew.com\/blog\/css\/aplicando-progressive-enhancement-no-css\">Aplicando Progressive Enhancement no CSS<\/a>) corretamente, ou o navegador n\u00e3o entender determinada propriedade o conte\u00fado HTML ainda deve estar l\u00e1 acess\u00edvel ao usu\u00e1rio. Pense que seu site n\u00e3o precisa ter exatamente a mesma apar\u00eancia em todos navegadores, ele s\u00f3 precisa entregar corretamente o conte\u00fado e suas funcionalidade. Simples assim.<\/p>\n<h2>Aplicando Progressive Enhancement no HTML<\/h2>\n<p>HTML \u00e9 a \u00fanica camada em que podemos confiar com toda a certeza. A maioria dos navegadores ir\u00e1 mostrar algo independente do suporte a um elemento HTML. Mesmo o <strong>cen\u00e1rio mais restrito<\/strong> ter\u00e1 suporte ao HTML. HTML \u00e9 a base de toda p\u00e1gina na Internet.<\/p>\n<p>Como estamos falando de tecnologias \u00e9 claro que o HTML tamb\u00e9m evoluiu, e muito! Nos \u00faltimos anos a linguagem recebeu <strong>novos elementos sem\u00e2nticos<\/strong>, atributos, API\u2019s, elementos de formul\u00e1rios, etc. Infelizmente alguns navegadores, at\u00e9 mesmo em suas \u00faltimas vers\u00f5es, as vezes acabam demorando ou n\u00e3o implementando as recomenda\u00e7\u00f5es do <a href=\"http:\/\/www.w3.org\/\" target=\"_blank\">W3C<\/a>.<\/p>\n<p>Para a sorte de todos desenvolvedores as recomenda\u00e7\u00f5es do W3C s\u00e3o feitas pensando no <strong>Progressive Enhancement<\/strong>. Por exemplo: Se usarmos a marca\u00e7\u00e3o <code>&lt;time&gt;22:39&lt;\/time&gt;<\/code> em um navegador sem suporte a esse elemento, o navegador simplesmente ir\u00e1 mostra-lo em um campo padr\u00e3o do tipo <code>input text<\/code> (controle padr\u00e3o de formul\u00e1rio).<\/p>\n<ul>\n<li>A recomenda\u00e7\u00e3o do W3C diz que sempre que um elemento HTML n\u00e3o for reconhecido pelo navegador o mesmo deve tentar renderizar seu <strong>conte\u00fado<\/strong>.<\/li>\n<li>Quando um atributo n\u00e3o for reconhecido, o navegador deve <strong>ignorar o atributo<\/strong> e seu valor. Caso o navegador n\u00e3o tenha suporte para algum valor de atributo, o navegador deve aplicar o valor padr\u00e3o HTML para aquele atributo.<\/li>\n<\/ul>\n<p>Um problema que temos em rela\u00e7\u00e3o a isso \u00e9 que nem todos navegadores seguem essas recomenda\u00e7\u00f5es acima. <\/p>\n<p>Vers\u00f5es anteriores ao IE9 n\u00e3o reconhecem os novos elementos da HTML5. Por exemplo, <code>&lt;header&gt; &lt;\/header&gt;<\/code> \u00e9 um dos v\u00e1rios elementos que os IEs n\u00e3o d\u00e3o suporte (<a href=\"http:\/\/caniuse.com\/#search=header\">http:\/\/caniuse.com\/#search=header<\/a>). Os navegadores mostram o conte\u00fado dos elementos, mas n\u00e3o conseguimos estiliza-los. A boa not\u00edcia \u00e9 que temos algumas solu\u00e7\u00f5es.<\/p>\n<h2>Suporte para HTML5 em vers\u00e3o antigas do internet Explorer<\/h2>\n<p>Uma biblioteca JavaScript foi criada com o objetivo de <strong>resolver em partes<\/strong> essas dificuldade de vers\u00f5es mais antigas do IE darem suporte aos novos elementos do HTML. Podemos resolver problemas de estiliza\u00e7\u00e3o e interpreta\u00e7\u00e3o dos elementos HTML com uso da biblioteca <a href=\"https:\/\/code.google.com\/p\/html5shiv\/\">https:\/\/code.google.com\/p\/html5shiv\/<\/a><\/p>\n<p>Usei exemplos bem b\u00e1sicos apenas para ilustrar o poder de usar <strong>Progressive Enhancement<\/strong> j\u00e1 aplicando desde o HTML. Acredito que estabelecendo primeiro como seu site deve funcionar em um n\u00edvel mais b\u00e1sico , voc\u00ea consegue ter uma compreens\u00e3o mais clara dos requisitos do projeto.<\/p>\n<p>Curta a p\u00e1gina do <a href=\"https:\/\/www.facebook.com\/pages\/Kadunew-Artigos-e-tutoriais-sobre-Web-Design\/787883281258323\" title=\"Artigos e tutoriais sobre Web Design\" target=\"_blank\">blog kadunew<\/a> no Facebook. Siga-me no Twitter: <a href=\"http:\/\/twitter.com\/kadunew\" rel=\"nofollow\">@kadunew<\/a> ou assine nosso <a href=\"https:\/\/www.kadunew.com\/blog\/feed\">Feed<\/a> e fique por dentro de todas atualiza\u00e7\u00f5es aqui do blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os navegadores est\u00e3o cada vez mais poderosos, e cheios de recursos. Queremos usar os \u00faltimos avan\u00e7os e fornecer uma experi\u00eancia melhor para nossos usu\u00e1rios. Entretanto, n\u00e3o podemos esquecer que esses recursos n\u00e3o est\u00e3o dispon\u00edveis em todos os navegadores. Isso quer dizer que mesmo que voc\u00ea esteja usando a \u00faltima vers\u00e3o de um navegador, um poder\u00e1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59],"tags":[],"class_list":["post-3080","post","type-post","status-publish","format-standard","hentry","category-html"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Aplicando Progressive Enhancement no HTML<\/title>\n<meta name=\"description\" content=\"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aplicando Progressive Enhancement no HTML\" \/>\n<meta property=\"og:description\" content=\"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html\" \/>\n<meta property=\"og:site_name\" content=\"KADUNEW\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-19T11:44:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-05-09T19:08:05+00:00\" \/>\n<meta name=\"author\" content=\"Kadu Oliveira\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kadu Oliveira\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html\",\"url\":\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html\",\"name\":\"Aplicando Progressive Enhancement no HTML\",\"isPartOf\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/#website\"},\"datePublished\":\"2015-01-19T11:44:55+00:00\",\"dateModified\":\"2015-05-09T19:08:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05\"},\"description\":\"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.kadunew.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTML\",\"item\":\"https:\/\/www.kadunew.com\/blog\/category\/html\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Aplicando Progressive Enhancement no HTML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#website\",\"url\":\"https:\/\/www.kadunew.com\/blog\/\",\"name\":\"KADUNEW\",\"description\":\"Artigos sobre Front-End e Programa\u00e7\u00e3o web\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.kadunew.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05\",\"name\":\"Kadu Oliveira\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g\",\"caption\":\"Kadu Oliveira\"},\"sameAs\":[\"https:\/\/www.kadunew.com\/blog\"],\"url\":\"https:\/\/www.kadunew.com\/blog\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aplicando Progressive Enhancement no HTML","description":"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html","og_locale":"pt_BR","og_type":"article","og_title":"Aplicando Progressive Enhancement no HTML","og_description":"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.","og_url":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html","og_site_name":"KADUNEW","article_published_time":"2015-01-19T11:44:55+00:00","article_modified_time":"2015-05-09T19:08:05+00:00","author":"Kadu Oliveira","twitter_misc":{"Escrito por":"Kadu Oliveira","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html","url":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html","name":"Aplicando Progressive Enhancement no HTML","isPartOf":{"@id":"https:\/\/www.kadunew.com\/blog\/#website"},"datePublished":"2015-01-19T11:44:55+00:00","dateModified":"2015-05-09T19:08:05+00:00","author":{"@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05"},"description":"Existem diferentes navegadores e dispositivos. H\u00e1 conex\u00f5es r\u00e1pidas e lentas, Como podemos oferecer o mesmo conte\u00fado a todos? Com Progressive Enhancement.","breadcrumb":{"@id":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.kadunew.com\/blog\/html\/aplicando-progressive-enhancement-no-html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.kadunew.com\/blog"},{"@type":"ListItem","position":2,"name":"HTML","item":"https:\/\/www.kadunew.com\/blog\/category\/html"},{"@type":"ListItem","position":3,"name":"Aplicando Progressive Enhancement no HTML"}]},{"@type":"WebSite","@id":"https:\/\/www.kadunew.com\/blog\/#website","url":"https:\/\/www.kadunew.com\/blog\/","name":"KADUNEW","description":"Artigos sobre Front-End e Programa\u00e7\u00e3o web","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kadunew.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/07b2297c4825efbd1e9f2a1018926b05","name":"Kadu Oliveira","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.kadunew.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/780660fded589936b30467c54c99d51a?s=96&r=g","caption":"Kadu Oliveira"},"sameAs":["https:\/\/www.kadunew.com\/blog"],"url":"https:\/\/www.kadunew.com\/blog\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/3080"}],"collection":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/comments?post=3080"}],"version-history":[{"count":19,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/3080\/revisions"}],"predecessor-version":[{"id":3884,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/posts\/3080\/revisions\/3884"}],"wp:attachment":[{"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/media?parent=3080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/categories?post=3080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kadunew.com\/blog\/wp-json\/wp\/v2\/tags?post=3080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}