Padrão classe de valor

Microformats são interessantes pedacinhos ricos em marcação semântica. Eles são surpreendentemente simples de executar, dada a forma como eles são poderosos. Essa é uma das razões pelas quais já provaram ser tão popular. Porque requerem apenas que algumas class sejam adicionadas nas marcações existentes, agora existem milhões de hCards e hCalendars publicados em toda a web.

Não é por acaso que microformats são fácies de aprender. Na verdade, esse é um dos princípios de design do microformats: primeiro para os seres humanos, depois para as máquinas. Claro que isto significa que escrever um parser de microformats pode ser muito trabalhoso. Qualquer um pode publicar um microformat, mas você tem que ter muito conhecimento para criar algo como o Oomph.

Em geral, os microformats não tentam ditar o que você deve usar na marcação. Enquanto você estiver usando direito os valores da class, você é livre para escolher que elementos você considera ser semanticamente adequados: spansemsdivsps, qualquer que seja.

Mas historicamente, sempre houve uma exceção a essa liberdade. Se você precisava marcar uma data e hora em um microformat, como hCalendar, você não terá muitas opções. Neste caso, as máquinas não são inteligentes o suficiente para fazer a análise de uma linguagem natural, onde primeiro é pensando o ser humano e depois elas.

Você poderia apresentar a data e a hora entre as tags de abertura e fechamento de qualquer elemento que você estava usando:


            <span class="dtstart">
              2009-06-05T20:00:00
            </span>

Ou você pode colocar o valor no title do atributo elemento abbr:


            <abbr class="dtstart" title="2009-06-05T20:00:00">
                 Sexta-feira, 05 de junho às 20:00
            </abbr>

Essas eram suas únicas opções. A primeira opção parece feia. A segunda opção não é muito flexível. A BBc removeu o suporte ao hCalendar por causa dessa inflexibilidade. Eles estavam preocupados com as implicações de acessibilidade de sobrecarregar o atributo title do elemento abbr. As preocupações com a semântica e a acessibilidade diminuíram devido ao fato que, o autor, tinha poucas opções de como marcar um valor datetime.

Mas agora os autores têm mais escolhas graças ao padrão classe de valor.

O que agora? Você pergunta. Bem, se você estiver sentido prejudicado pela combinação de data/hora e abbr, o padrão classe de valor oferece algumas alternativas.

Você pode dividir a data e a hora em dois elementos abbr separados.


        <span class="dtstart">
          <abbr class="value" title="2009-06-05">
              Sexta, 05 de junho
          </abbr>
          às
          <abbr class="value" title="20:00">
              20:00
          </abbr>
        </span>

Até agora você teria que unir os valores de data e hora para criar um datetime legível para a máquina. Agora você não precisa. Isso significa mais trabalho para os analisadores, mas facilita a vida dos autores.

Este modelo é bom, mas novamente, eu não acho que há um problema de semântica com a colocação de uma data ou hora no atributo title do elemento abbr. Eu acho que existe uma grande diferença entre colocar uma data no atributo title do elemento abbr e colocar um datetime lá. Outros podem discordar. Eles podem pensar que usando data em combinação com o elemento abbr, não é semanticamente correto. Isto é bom. Agora eles têm outras opções que podem utilizar. Graças ao subconjunto do padrão, eles não precisam que utilizar o elemento abbr em tudo.

Ao aplicar uma classe de value-title em qualquer elemento, você pode indicar a máquina que os dados encontram no title, em vez do atributo entre as tags de abertura e fechamento:


        <span class="dtstart">
           <span class="value-title" title="2009-06-05T20:00:00">
               Sexta-feira, 05 de junho às 20:00
           </span>
        </span>

E ainda você pode optar por dividir a hora e a data, se você optar por usar a classe value-title:


        <span class="dtstart">
           <span class="value-title" title="2009-06-05">
                Sexta-feira, 05 de junho
           </span>
           às
           <span class="value-title" title="20:00">
                20:00
           </span>
        </span>

Você pode até optar por incorporar os dados legíveis por máquina em um elemento vazio:


        <span class="dtstart">
           <span class="value-title" title="2009-06-05T20:00:00"> </span>
           Sexta-feira, 05 de junho às 20:00
        </span>

Pessoalmente eu não gosto desse modo, colocar dados em elementos vazios. Eu ficaria com a primeira opção, porque é mais fácil de lidar.

Essa é uma das maiores forças do padrão, ele oferece uma alternativa, que permite aos autores escolherem como querem marcar o seu conteúdo.

Quando de trada de escrever, não há respostas certas ou erradas, apenas preferências pessoais. Isto vale para o português, HTML ou qualquer outra linguagem. Contanto que você use a sintaxe e a gramática, os detalhes são por usa conta. Você pode escolher abbr ou value-title quando está escrevendo microformats.

wiki do padrão não apenas lista as opções disponíveis para os autores. Mas ela também os explica. O que é muito importante. Um dos maiores desafios enfrentado pelo microformats não é nenhum problema técnico especifico, é tentar explicar aos autores como aplicar o microformats no HTML. Se você precisar de algumas dicas ou se você quiser ajudar os outros, não hesite em entrar na wiki, no canal de IRC e participar da lista de discussão.

Fonte: http://www.treinaweb.com.br/ler-artigo/18/padrao-classe-de-valor

Deixe um comentário