Durante a semana de 29 de outubro a 2 de novembro acontece o TPAC – A plenária técnica do W3C internacional onde são discutidos os detalhes dos padrões durante cinco dias, com grande parte dos grupos de trabalho reunidos presencialmente para garantir o desenvolvimento da Web.
Eu e a Yaso participamos de algumas sessões durante esses dois dias, especificamente das reuniões dos grupos de CSS e Protocols and Formats. Gostariamos de resumir rapidamente alguns pontos importantes das reuniões.
CSS WG
O dia começou com uma rápida discussão sobre Auto-Generation, baseado por essa contribuição ao grupo. O objetivo era discutir as regiões que ocupam mais espaço do que o conjunto fixo de regiões, se nesse caso deveriam ser criadas novas regiões automaticamente ou não. Foi sugerido que ele deveria ser tratado como qualquer outro elemento que receba uma grande quantidade de conteúdo e foi decidido que as regiões devem manter o processo de manipulação de quantidades arbitrárias de conteúdo em uma cadeia região, mesmo no caso de uma quebra de página como qualquer outro elemento.
Em seguida os Chairs do grupo de HTML5 se juntaram a reunião para discutir questões do HTML5 relacionadas ao CSS. Paul Cotton e Philippe Le Hegaret indagaram ao grupo sobre determinadas especificações que poderiam ficar fora do HTML5 caso o grupo não as fechasse em tempo hábil. A discussão partiu para um ponto de colaboração mútua e que ambos os grupos se aproximarão mais para alinhar detalhes dos dois padrões.
A sequência da reunião foi para o fechamento de “bugs”. Alguns deles tiveram a seguinte conclusão: O BUG 15824 sobre se regiões devem ou não criar um novo contexto de empilhamento. Foi decidido manter a especificação, onde todas as regiões criam contexto de empilhamento para os elementos fluírem entre eles.
O próximo tema abordado foi CSS Masking, que define como esconder certos conteúdos utilizando máscaras. Ficou decidido que seriam incluídos alguns novos valores a especificação.
Foram discutidos ainda alguns tópicos relacionados a CSS e SVG. Existe um interesse de integração futura maior do CSS com SVG, apesar de algumas diferenças dificultarem essa integração. Mais adiante essa discussão continuaria.
Partindo para animações, foi discutida a questão de mudanças dinâmicas em propriedades de animação ou keyframes. Depois de diversas discussões sobre performance e como lidar com pausas e re-início de animações, foi decidido que o @keyframe pode ser alterado dinamicamente. Ainda sobre animações, foi discutido se deve-se definir o ativamento de eventos para animações em execução no pseudo-elementos. Em uma rápida discussão, foi decidido que ele deve ser uma cópia sobre a informação do pseudo-elemento de eventos de transição para eventos de animação. Um último ponto sobre animações foi a questão de duplicar os nomes de animação, baseado nessa questão sobre a repetição de “animation-name” na lista de animações. Foi decidido que o comprimento da “animation-name” deve ser autoritária. Outras propriedades de animações também são ajustados no seu comprimento. No caso de encontrar múltiplos nomes de animação, o último vence. A discussão continuou porque não parecia muito claro como isso resolveria o problema e mais testes foram sugeridos, mas foi decidido que propriedades de animação devem ter valores iniciais e finais de progresso considerados.
No dia seguinte a discussão sobre animações continuou. Foram discutidas questões sobre propriedades de tipos de animações e elementos que possam ser animados. A reunião passou por pontos de gradiente em CSS, SVG e finalmente para cores, e foi decidido que animações com cores devem ser em espaços já pré-multiplicados.
Um ponto interessante do segundo dia foi a discussão da seleção de um texto dentro de um elemento. Foi colocado que se uma elipse estiver destacada, o texto deveria ser selecionado também, pois é esperado pelo usuário, mesmo que isso hoje não aconteça com todos os navegadores. Dessa forma, o grupo decidiu que no caso de uma elipse que esteja selecionada, o texto também deve ser selecionado.
A reunião continuou, abordando detalhes sobre CSS3, especialmente em SVG e Math, como por exemplo a questão de se adicionar ‘display: svg’ e ‘display: math’ ou algo parecido quando necessário em algum ponto. Outros pontos foram discutidos e decididos detalhadamente de forma detalhada durante o dia.
Os logs do IRC do grupo de CSS estão nos links abaixo:
- Log das reuniões do WG-CSS – Primeiro dia (em inglês)
- Log das reuniões do WG-CSS – Segundo dia (em inglês)
Protocols and Formats WG
O grupo de Protocols and Formats é composto por membros da Iniciativa de Acessibilidade do W3C (WAI). Durante dois dias eles discutiram tópicos de relevância para a acessibilidade na Web e promoveram testes em especificações de WAI-ARIA para garantir sua acessibilidade.
No primeiro dia o grupo discutiu a possibilidade de acrescentar um recurso de alto contraste (high-contrast) dentro do CSS. O objetivo é possibilitar que desenvolvedores possam fazer modificações de contraste em media queries. Foi comentado que não seria razoável que os desenvolvedores proporcionassem diversos tipos de alto contraste ao usuário, como exemplifcado neste website. Foram discutidas algumas possibilidades de configurações e valores de atributos de contraste e até a possibilidade de trocar imagens de fundo quando utilizado o modo de alto contraste @media screen.
A discussão ainda deve continuar sobre sua implementação, que deve seguir para o Grupo de Trabalho de CSS.
Durante a tarde a reunião seguiu para testes de WAI-ARIA. Foram feitos diversos testes exaustivos para verificar a acessibilidade de certos papéis (roles), estados (states) e propriedades (properties). Os testes foram feitos em ambiente restrito, mas foi possível entender como criar exemplos simples para testar elementos utillizando WAI-ARIA. Conseguimos acessar as áreas de teste e levar para o Brasil exemplos que possam ajudar a criar um repositório e um ambiente para testes das tecnologias discutidas pelo W3C nesse grupo.
No segundo dia a reunião deu continuidade aos testes do dia anterior. Eles tinham mais de 700 testes para fazer em exemplos de documentação, que pudemos acompanhar o processo. O mais interessante é que além de tecnologias para validar código e a acessibilidade do elemento, pessoas com deficiência participaram testando e comentando sobre como cada novo elemento/atributo poderia (ou deveria) se comportar no acesso de determinada tecnologia assistiva/navegador.
Developers MeetUp
Na noite de 2a feira, o W3C promoveu um Developers MeetUp, no centro de Lyon. Foi um evento não só do TPAC, mas com a comunidade de desenvolvimento web de Lyon. Durante o evento, ocorreram algumas apresentações muito interessantes relacionadas a novas tecnologias e experimentos utilizando a invenção de Tim Berners-Lee.
Uma delas, da empresa 109Labs foi o projeto Oh My Toast, que utiliza a web semântica para juntar fotos e informações para o usuário gerar um album de fotos recheado de informação relacionada.
A apresentação seguinte contou uma breve história do web design fluído. De forma bem divertida e ilustrada, foi apresentado como o CSS se comporta desde sua criação com tamanhos de telas e resoluções diferentes, até chegar no que chamamos hoje de “Design Responsivo”. A navegação por essa apresentação não será completa se você não redimensionar a janela do seu navegador enquanto assiste.
Logo em seguida foi apresentado o Tea ebook Open Reader. Um modelo de leitor de e-books totalmente aberto, utilizando padrões da Open Web. O mais interessante desse projeto é a comparação feita pelo apresentador com os aplicativos fechados: O HTML5 tem grandes vantagens em seu uso, como não necessitar de instalação, atualizações instantâneas e não ter necessidade de pagar uma taxa para as lojas de aplicativos (dentre outras vantagens).
A open web continuou sendo destaque na apresentação seguinte. Na palestra HTML5 is Sexy Criss Milles da Opera mostrou diversas aplicações utilizando recursos da Open Web. Algumas delas foram um Piano e uma persiana em CSS3, um vídeo com legendas sincronizadas e experimentos utilizando GetUserMedia, como esse Photo Booth e esse bigode em webcam. Tudo muito interessante, mas bem próximo dos experimentos que foram apresentados na Conferência Web W3C Brasil 2012. Isso significa que estamos no caminho certo.
Em seguida, foram apresentados alguns cases utilizando renderização 3D dentro do browser. Jogos que antigamente precisavam de placa aceleradora de vídeo e instalação de dezenas de megabytes hoje rodam dentro de um browser na web.
As últimas apresentações da noite foram voltadas para mobile web. A primeira delas mostrou algumas aplicações que utilizam a especificação de DeviceOrientation para manipular páginas web. Em uma delas o apresentador manipulava seu telefone celular enquanto exibia um resultado dentro de um browser em outro computador. Muito interessante, mas mais um experimento que pôde ser visto durante a Conferência Web W3C Brasil 2012. Para encerrar a noite, representantes da Mozilla apresentaram seu sistema operacional para telefones celulares desenvolvido em HTML5. O recado dado por eles era: Tudo o que é desenvolvido para esse dispositivo é livre e aberto.
Após as apresentações, tivemos a oportunidade de nos apresentarmos oficialmente a Tim Berners-Lee como membros do W3C Brasil e parte do time que organiza a conferência WWW2013. Conversamos um pouco sobre Dados Abertos e da iniciativa brasileira de incluir o tema na Lei de Acesso à Informação, além de falar da ótima participação de Jeanne Holm no Decoders e na Conferência do W3C Brasil.
Por último, a Developer Relations Lea Verou apresentou a plataforma para documentação das principais ferramentas da Open Web. O objetivo foi apresentar mais claramente para os desenvolvedores a importância desse tipo de iniciativa e especialmente espalhar esse tipo de documentação pelo mundo. Tradução colaborativa foi um grande pedido para os desenvolvedores de todo mundo, especialmente do Brasil.
*Versão original publicada no Blog do W3C Brasil