Pergunta

Eu estou tomando uma olhada Dive Into HTML5 . Parece agradável e interessante, mas estou intrigado.

Na década de 1990, no momento em que o Netscape era o browser e HTML foi HTML2 ou HTML3, havia um monte de tags: endereço, cite, código ... A maioria deles não são utilizados a partir de hoje, provavelmente ainda obsoleta.

HTML5 introduz tags para expressar "significado semântico" à própria tag. Isto é tudo diversão e jogos, mas eu vejo algo muito estranho nessa abordagem. Tecnicamente, a semântica pode ser muito aberto terminou. HTML5 tem tags para artigo, tempo, barras de navegação, rodapé. Por que ele não deve conter tags para icon post, local, nome do autor e apelido, ou qualquer outra coisa que você quer semântica específicos atribuir a (estou confiante <rant> e <nsfw> seria marcas muito importantes):? Pensei XML foi a estratégia para a semântica atribuir ao material. Nada impede que você coloque um pedaço XML sob um XHTML div elemento, e atribuir um estilo a ele tão ao estilo-lo corretamente, ou delegar ao espectador adequada a manipulação desse namespace (por exemplo, ao manusear RSS ou SVG ).

Em conclusão, eu não entendo a razão por trás disso extensões focada para a semântica, quando é claro que semântica é um tema muito amplo, o que é garantido para exigir uma quantidade potencialmente infinito de tags semânticas. Desde que eu tenho certeza que há pessoas inteligentes em W3C , eu acho que estou errado, mas Eu gostaria de saber por quê.

Foi útil?

Solução

Por que são tags para artigo, tempo, barras de navegação, rodapé útil?

porque facilitam a análise de ferramentas de processamento de texto como o Google.

Não é nada sobre a semântica (pelo menos em 'ampla' significado). Em vez disso, apenas dizer: aqui está o corpo da página (mais importante parte de texto) e há a barra de navegação cheio de links. Com essa abordagem, você pode facilmente extrair apenas o que você precisa.

Outras dicas

Eu também odeio a maneira que o W3C está acontecendo com suas especificações. Há muitas coisas que eu não gosto, e este "semântica" moda é um deles. (Outros incluem levando uma eternidade para completar suas especificações e deixando muitos detalhes importantes para os navegadores para implementar como quiserem)

Acima de tudo eu não gosto dele porque ele faz o meu trabalho como um desenvolvedor web mais difícil. Muitas vezes eu tenho que fazer uma escolha se deseja fazer a página da Web "semanticamente correta" ou "visualmente / esteticamente agradável". As últimas vitórias, claro, porque é isso que os usuários querem, mas como resultado validações começar a falhar e a coisa toda fica muito não-semânticas (tabelas para layout e outras coisas).

Outra questão em que eu carranca é que eles têm oficialmente declarou que o atributo "class" é para semântica, mas, em seguida, eles usaram para seletores de apresentação visual em CSS.

A linha inferior - Não misture semântica e representação visual . Se você usar algum mecanismo para descrever a semântica (como nomes de marcas, valores de atributos, ou o que não outra coisa), então não usá-lo para fins Funcional / visual e vice-versa.

Se eu projetaria HTML, eu simplesmente adicionar um atributo "semântica", que poderia (como o atributo "class") ser adicionado a qualquer tag. Então haveria uma série de valores pré-definidos como todos os cabeçalhos / rodapés / artigos / citações / etc.

Etiquetas definiria funcionalidade. Basicamente, você poderia reduzir tags HTML para apenas um punhado, como "div", "table / tr / td", "a", "img", "forma", "input" e "selecionar". Eu provavelmente perdi um pouco, mas esta é a maior. Visual styling seria realizado através de CSS.

Desta forma, as três áreas - semântica, representação visual e funcionalidade -. Seria completamente independente e não iria colidir em soluções reais

É claro, eu não acho W3C está interessado em soluções práticas ...

Já existe um monte de semântica em HTML markup nas formas de classes e IDs, dos quais há um (perto) quantidade infinita de possibilidades de, e todo mundo tem sua própria maneira de lidar com essa semântica. Um dos objetivos da HTML5 é tentar trazer alguma estrutura para isso. você ainda será capaz de estender a semântica de etiquetas com classes e ids. Ele também irá tornar mais provável que as coisas mais fáceis para os motores de busca.

olhar para ele a partir do ângulo de tentar fazer declarações, quer sobre a página, ou cerca de objectos referenciados na página. Se você ver um tag

, tudo o que posso dizer é "coisas aqui é um rodapé" e passá-lo por. Como tal, adicionar marcas personalizadas não é como solução de um genérico como adicionar atributos e permitindo que as pessoas a usar a sua própria escolha de URIs para especificar predicados e, opcionalmente, os valores - RDFa ganha as mãos para baixo, porque você pode expressar qualquer triplo -Declaração você gosta de RDF em uma página, de uma forma ou de outra.

Eu só quero abordar uma parte da sua pergunta. Você diz:

Na década de noventa, no momento em que Netscape era o browser e html foi HTML2 ou HTML3, havia um monte de tags: endereço, citam, código ... A maioria dos eles não são usados ??a partir de hoje, provavelmente mesmo obsoletas.

Há uma grande quantidade de marcas para escolher em html, mas a falta de uso não implica que eles são obsoletos. Em particular, o <h1> tags de cabeçalho, etc, e <ul>, <ol> são utilizados para unir itens em listas de uma forma que considero semântica. Muitas pessoas podem não usar tags semanticamente, mas o esforço para criar microformatos é uma continuação em curso do idéia que você considere um artefato da década de 1990. Esforços para tornar o web semântica ser um vencedor continua indo, apesar de busca e link de análise de texto completo (na forma de Google), sendo o vencedor na medida em que a forma de encontrar e compreender a web.

Seria ótimo para ver uma versão atualizada do Estatísticas Web do Google que mostram "html como ela é raio." Mas você está certo de que muitas marcas são subutilizados.

Se html5 vai ser bem sucedido é uma questão em aberto e interessante, mas as tags que você descreve como obsoleto não ir a qualquer lugar, eles estavam lá em HTML 4.01 e xhtml . HTML5 parece ser um esforço para solidificar o que é útil em tags. No final, se html5 recebe apoio em navegadores e faz o trabalho de desenvolvedores web mais fácil, ele será bem-sucedida. XHTML2 falhou porque redondamente falhou a adoção ganho em navegadores e não fez nada para fazer o trabalho de fabricantes de páginas web mais fácil. As forças que trabalham em html5 parecem cientes da falha do XHTML2, e acho que estão evitando ter html5 sofrer um destino semelhante.

"Por que não deveria conter tags para icon post, local, nome do autor e apelido, ou qualquer outra coisa que você quer semântica específicos atribuir a (eu sou confiante e seria marcas muito importantes):?"

Você pode usar para descrever conversas ou comentários. Rant e NSFW são termos subjetivos, portanto, não faz sentido usá-los.

Pelo que eu entendo um monte de desenvolvedores web experientes fez uma pesquisa e olhou para o que a maioria dos sites têm em comum em html. Eles notaram que a maioria sites da web têm tags "nav" id = "header", id = "footer", id = "seção" e id = então eles decidiram que precisamos HTML tags para substituir aqueles id. Portanto, em outras palavras, não espere-los a dar-lhe uma enorme quantidade de HTML vocabulário. Basta mantê-lo simples quanto possível, como você pode enquanto lidam com o mais marcas necessária HTML comum.

NAV tag é muito importante para proporcionar acessibilidade também. Você quer saber onde a navegação é, em vez de forçá-los a descobrir se as ligações são para a navegação ou não.

Não concordo com a adição de tags extras. Se vocabulário detalhado eram realmente de importação, em seguida, poderia haver um nome de marca diferente para cada palavra no dicionário. nomes de marcas adicionais não são úteis, pois podem se comunicar significado adicional para os seres humanos, mas não fazem nada para facilitar a análise máquina da língua. É por isso que eu não gosto as tags "semânticas" para HTML5 como eu acredito que isso seja ladeira escorregadia em fornecer um vocabulário muito complexo, enquanto apenas fornecendo uma solução fraca para um problema não abordado plenamente.

Na minha opinião marcação dados estrutura da linguagem, tanto quanto descrevê-lo em uma forma de diagrama de árvore. Através de análise da estrutura e uso adequado de convenções semânticas, como RDFa, o contexto pode ser aproveitado para dar um sentido específico para nomes de tags de outra forma genéricos. Em tais como necessidade caso excessiva vocabulário não existe e estruturalmente redundantes nomes de marcas, tais como rodapé e de lado, poderia ser eliminado. O objetivo final é para o conteúdo make mais rápido e preciso interpretar por ambos os seres humanos e máquinas simultaneamente, usando o mínimo de código possível para alcançar esse resultado. Como essa solução é menor importância, a não ser para HTML5.

Eu pensei XML foi a estratégia para a semântica atribuir ao material.

Tanto quanto eu sei, não, não era. XML permite que novas linguagens a serem definidos que são todos analisados ??da mesma forma, porque todos eles usam a sintaxe XML.

Não, por si só, fornecer alguma maneira de adicionar significado (meio apenas “semânticas” “significativo”) para esses idiomas. E até que os computadores ficam inteligência artificial, eles não realmente compreender o significado, então o significado é exatamente o que é acordado entre os seres humanos. HTML é a linguagem mais comumente usado com acordada significado de suas tags.

Como HTML é tão comum, é útil adicionar algumas tags significativas para ele que são bastante geral na sua aplicação. As novas tags HTML5 são destinados a isso. Os autores do especificação HTML5 poderia certamente continuar por este caminho, criando etiquetas para cada bit específica de sentido possível, mas como eles não são robôs, eles provavelmente não irá.

<section> é útil, e em geral o suficiente para ser significativamente aplicável em lotes de documentos. <author-last-name> não é. A distinção entre os dois é uma chamada de julgamento, razão pela qual os seres humanos, e não computadores, escrever a especificação.

Para semântica personalizados que são demasiado específica para ser adicionado ao HTML como tags, HTML5 define microdados .

Estive lendo o livro de Andy Clark Transcending CSS (página 33).

..., é agora amplamente aceito que os nomes de apresentação, como cabeçalho , esquerdo ou vermelho que descrevem olhar ou a posição de um elemento são más escolhas.

Depois de ler estas linhas me perguntei: hey, não há elementos em HTML5 especificação, como cabeçalho, rodapé ?? Porque é que o rodapé mais semântica? Andy em seus defensores de livros para uso Site-info para o ID da div rodapé e isso faz mais sentido IMHO. Rodapé é um nome de apresentação (descreve a posição do elemento).

Em uma palavra, AJAX. As novas tags são destinadas a apoiar o que os desenvolvedores do mundo real estão fazendo, substituindo alguns o tipo <div class="sidebar-wrap"><div class="styling-hook"><div><ul class="nav"> de divitis muitos sites sofrem. A única <div> deixado no HTML5 é o gancho styling.

A semântica que são promovidos a tags de aulas são aqueles que desenvolvedores têm livremente adotada en-masse como as melhores práticas, dado um período prolongado adoção xhtml / css. Confira a edição de desenvolvedor WHATWG da página seções da especificação aqui . O documento em si é um prazer, mas eu não vou desperdiçá-la se você não viu ainda.

Uma das razões menos óbvias para algumas decisões tomadas pelo W3C é a importância do Webkit. Se você olhar, você pode ver que eles foram melhores do que alguns em tomar o trabalho atual do Grupo de Trabalho HTML5 e implementação de ideias. Eles têm sido historicamente muito à frente em conformidade ( ver aqui ). O W3C colocada uma elevada prioridade na sua (isto é Android, iPhone, o Googlebot, cromo, Safari, Dreamweaver, etc,). Google, os usuários de enquadramento, Wordpress / Moveable Type / Joomla! usuários de tipo e outros queriam auto-contido blocos de construção, de modo que este é o estilo que temos.

Facebook é modular. grades de design responsivo são modulares. Wordpress é modular. Ajax funciona melhor com estruturas modulares página. Widgets são módulos. Plug-ins são módulos. Parece que deveríamos estar tentando descobrir coisas como a forma de aplicar essas marcas para torná-lo mais fácil para ligar os elementos adequados e ativá-los no nosso documento / / info-rede aplicação híbrida Web 2.0.

No fechamento, HTML5 é para ser escrito como xml (novamente, consulte a especificação), a fim de assegurar que as ferramentas e máquinas que fazem solicitações de ajax para uma parte de um documento receberá uma resposta útil bem formado. Como impressionante em combinação com coisas como consultas de mídia para dispositivos como leitores de feeds, impressoras braille, anotadores, etc.,. Eu vejo um futuro (próximo) onde qualquer coisa com bom conteúdo semântico é o seu próprio newsfeed automagicamente! Isso só acontece se os desenvolvedores adotem e escrever documentos conformes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top