Image Image Image Image Image
Scroll to Top

Topo

28

nov
2011

Sem Comentários

Em Sem categoria

Por allison

HTML5: Adeus time, datetime e pubdate

Em 28, nov 2011 | Sem Comentários | Em Sem categoria | Por allison

Foi percorrido um longo e árduo caminho para a especificação do HTML5. As atitudes enérgicas do WHATWG foi para adicionar ao The living HTLM Standard a remoção da tag time para adicionar a tag data. Vamos entender toda esta historia.

Foi percorrido um longo e árduo caminho para a especificação do HTML5. As atitudes enérgicas do WHATWG foi para adicionar ao “The living HTLM Standard” a remoção da tag para edicionar a tag < data >. Vamos entender toda esta historia.

A tag < time > foi adicionada para permitir que a data e hora fossem lidas pela máquina, através do atributo datatime. Sem gerar muitos problemas de acessibilidade. O atributo pubdate indica a data da publicação de um artigo, podendo ser convertido de HTML para Atom que por ventura com esta nova mudança implementada pelo HTML5 também foi removido.

O < time > tem sido um dos elementos de mais fácil compreensão para os autores, pois ele é muito obvio semanticamente.

Representação do elemento < time > em HTML5:

<time class="dtstart" datetime="2011-10-05T09:00Z">9am on October 5</time>

Microformats valor de classe padrão:

<span class="dtstart"><abbr class="value" title="09:00">9am</abbr> on <abbr class="value" title="2011-10-05">October 5</abbr></span>

O < time > tem sido muito utilizado para inserir datas em publicações de artigos em weblogs, utilizando WordPress e Drupal.

Algumas questões sobre a utilização do < time >. Para alguns autores o time não atendia as necessidades das postagens mais antigas, e não existia “ utlima atualização” um atributo que seria equivalente ao pubdate. Um outro problema é que existem outras tags menos comuns que fazem praticamente a mesma coisa. Foi adicionado um elemento genérico para este caso de uso o elemento < data > que atua com a necessidade de uma value de atributo. O elemento de dados representa o seu conteúdo, juntamente com a forma de ser inteligível a máquina, no valor de atributo.

O atributo value contém o mesmo conteúdo do elemento ao nível de maquina. O < data > pode ser utilizado como um equivalente ao elemento dedata-* para a marcação de dados privados dos scripts. Também pode ser utilizado como um conjunto de vocabulário de microdados, tendo em vista que o formato do atributo value é especificado pelo vocabulário.

Esta adição nos mostra um maneira mais fácil para realizar a duplicação dos microformats. No entanto boa parte da introdução do < data >, < time > junto com o datetime e pubdate foram retiradas.

Enquanto a tag < time > é semanticamente obvia, o < data > é visto como algo equivalente a < div > ou < span >. Portanto não é suficiente para justificar a presença no spec, apesar de seus grandes benefícios. Um outro motivo para o desânimo é que muitas pessoas tiveram problemas em utilizar o HTML5.

O que há de errado com este retrato

Listamos os cinco tipos de semântica no código HTML, ordenando do mais significativo para o menos significativo.

  • organismos de normalização: elementos e atributos;
  • comunidades: vocabulários e microdados, formatos POSH;
  • senso comum: ID funcional e nomes de classes;
  • nomes genéricos;
  • ofuscando, nomes aleatórios ou de apresentação.

Datatimes especificados possuem vários efeitos, por uma lado é um pouco mais complexo a sua utilização. Vamos comparar estes dois exemplos de utilização do < time > e < data >

Usando < time >

<article>
...
<footer>Published <time pubdate datetime="2011-11-03">today</time>.</footer>
</article>

Usando o < data >

<article itemscope itemtype="http://schema.org/BlogPosting">
...
<footer>Published <data itemprop="datePublished" value="2011-11-03">today</data>.</footer>
</article>

Isto significa que se você utilizar o < data > para substituir a < time > o Google entenderá da seguinte maneira:

<data itemprop="datePublished" value="2011-11-03">today</data>

é interpretado como

datePublished = today

.

Não

datePublished = 2011-11-03

Prós & Contras

Os browsers de forma geral estão a favor desta mudança, mas muitos autores são contra ela. Temos algumas opções sugeridas:

1 – < data > permite que o value gere atributo em qualquer elemento.

2 – Adicionar um type como atributo ao < data > afim de torna-lá mais semântica.

3 – Trazer de volta a < time >

Permitir o value em qualquer elemento

Isso gera conflito com os microdados, onde alguns valores e elementos são os URLs ao invés do seu conteúdo. Por exemplo:

<img itemprop="photo" src="http://oli.jp/photo.jpg">

dá a saída da ‘photo’

= http://oli.jp/photo.jpg.

Adicionando value significa que existiriam dois machine-readable, por isso teriam que saber quais elementos não poderiam ser aceitos.

Adicionar um type utilizando < data >

O HTML5 tem que especificar cada type de valor, apesar de não estar trabalhando com tantos para os implementadores como um novo tipo de dado. Se o type é necessário também limita a < data > aos tios que são definidos

Trazer de volta a < time >

A forma amis fácil de tornar todos felizes é manter a < time > além de adicionar < data >. Porem os contras para isso são muito grandes pois são duas formas muito semelhantes, mas nem sempre intercambiáveis. Por exemplo se tivéssemos a necessidade de marcar a data de publicação de um artigo e a data de atualização usando a sintaxe diferente. Casos especiais e exceções tornam as coisas um pouco mais difíceis de serem ensinadas e aprendidas.

Conclusão

Trazer a < time > de volta é realmente um problema altamente espinhoso, o Whatwg está tentando buscar o equilíbrio em uma questão bastante delicada. Retirar o < time > é um grande problema em aspectos mercadológicos pois muita coisa irá mudar como por exemplo parâmetros e métodos de atualizações em blogs e sites.

Traduzido de: html5doctor.com

Fonte: Gregory Laborde/OficinadaNet

Redes Sociais

Enviar um Comentário