Sobre este problema HTML
Nas especificações mais antigas do HTML (HTML 4.01), o atributo scheme era usado para fornecer contexto adicional para interpretar o valor content de um elemento <meta>. Informava aos navegadores ou processadores de metadados qual esquema de codificação, formato ou vocabulário se aplicava aos metadados. Por exemplo, você poderia especificar que uma data seguia o formato W3CDTF ou que uma classificação de assunto usava uma taxonomia particular.
O HTML5 removeu o atributo scheme porque raramente era usado pelos navegadores e o seu propósito era melhor servido ao tornar o esquema parte do próprio valor dos metadados. O padrão HTML living standard da WHATWG não reconhece scheme como um atributo válido em <meta>, portanto incluí-lo irá produzir um erro de validação. Manter atributos obsoletos na sua marcação pode causar confusão para os programadores que mantêm o código e sinaliza práticas desatualizadas que podem acompanhar outros problemas de compatibilidade.
Este problema aparece mais comummente em documentos que usam metadados da Dublin Core Metadata Initiative (DCMI), que historicamente dependia de scheme para indicar o formato de codificação para datas, identificadores e classificações de assuntos.
Como corrigir
Existem várias abordagens dependendo do seu caso de uso:
-
Simplesmente remova o atributo
schemese o formato já for claro pelo contexto (por exemplo, datas ISO 8601 são universalmente compreendidas). -
Incorpore o esquema no atributo
nameusando um nome de propriedade mais específico que implique o esquema. -
Inclua a declaração do esquema no valor
contentpara que a informação do formato seja preservada dentro do próprio valor.
Para metadados Dublin Core especificamente, a abordagem moderna recomendada é usar o namespace DCTERMS com RDFa ou simplesmente remover o atributo scheme, já que a maioria dos formatos de data como AAAA-MM-DD são inequívocos.
Exemplos
Obsoleto: usando o atributo scheme
Isto gera o erro de validação porque scheme não é um atributo válido no HTML5:
<meta name="DC.Date.Created" scheme="W3CDTF" content="2009-11-30">
Outro exemplo comum com classificação de assunto:
<meta name="DC.Subject" scheme="LCSH" content="Web development">
Corrigido: removendo o atributo scheme
Se o formato do valor for evidente (como com datas ISO 8601), simplesmente remova scheme:
<meta name="DC.Date.Created" content="2009-11-30">
Corrigido: incorporando o esquema no valor
Quando a informação do esquema é importante para os processadores compreenderem o valor, incorpore-a no atributo content:
<meta name="DC.Subject" content="LCSH: Web development">
Corrigido: usando um nome de propriedade mais específico
Você pode tornar o esquema implícito usando um valor name mais descritivo:
<meta name="DCTERMS.created" content="2009-11-30">
Corrigido: usando RDFa para metadados mais ricos
Para documentos que requerem metadados precisos e legíveis por máquina com esquemas explícitos, considere usar atributos RDFa em vez do scheme obsoleto:
<meta property="dcterms:created" content="2009-11-30">
Esta abordagem é compatível com HTML5 e fornece a mesma riqueza semântica que o atributo scheme foi originalmente concebido para oferecer.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.