Nota: Esta tag não tem mais utilidade, após o SPIP 4.0 (retorna sempre true por padrão), e será descontinuada com o SPIP 5.0, sendo removida mais tarde.
É frequente o SPIP, bem como os plugins, gerarem trechos de código HTML no site público. Com a chegada do HTML5, pode-se agora produzir HTML mais semântico com as novas tags, os novos elementos de formulários etc.
No entanto, se desejar continuar a ter um site validado pelo W3C (organismo de padronização da linguagem HTML, entre outras), é preciso que o uso de código HTML5 esteja acompanhado da declaração de doctype a seguir:
<!DOCTYPE html>
Isto significa que o SPIP e os plugins não podem usar elementos do HTML às cegas: precisam de uma indicação por parte do webmaster para saber qual é o nível de compatibilidade HTML desejado. Isto é possível, depois do SPIP 3.0 com o surgimento de uma nova opção de configuração.
A tag #HTML5 permite considerar essa escolha:
- Se o HTML5 estiver autorizado, a tag retorna um resultado não-vazio (espaço)
- Se a configuração permanecer em HTML4 (valor padrão), a tag retorna um resultado vazio. Nas versões do SPIP inferiores ao SPIP 3.0, a tag é desconhecida e retornará igualmente um resultado vazio. Pode assim ser usada, seja qual for a versão do SPIP: os sites em versões do SPIP anteriores à 2.2 serão apenas considerados como estando em HTML4.
Exemplos de uso
Por exemplo, um plugin ou um template que gere uma zona de busca num formulário poderá usar a tag da maneira abaixo:
<input type="[(#HTML5|?{search,text})] ... >
Este código gerará, se o HTML5 estiver ativado na configuração:
<input type="search" ... >
e no caso contrário:
<input type="text" ... >
Outro exemplo: definição de uma zona de entrada de dados de formulário obrigatória:
<input type="text" [(#HTML5)required="required"] ... >
O resultado será, respetivamente, de acordo com a configuração:
<input type="text" required="required" ... >
<input type="text" ... >
Suporte pelos navegadores
Certamente, como sempre no desenvolvimento web, não se esqueça de verificar qual é o comportamento dos navegadores que não suportem as tags HTML e os atributos que deseja usar.