sábado, setembro 15, 2007

Why doesn’t Safari support the handheld CSS media type in iPhone?

Ainda recentemente coloquei esta mesma questão num dos fóruns portugueses de utilizadores Apple: porque está o iPhone (handheld) "armado" em ecrã de computador (screen)?

Do que conheço da Apple esta estratégia é amplamente reflectida e nada inocente. Recai no principio: não, o iPhone não é um handheld, é um iPhone! Pois... parece que já vi este filme antes: o IE não é um browser, é o Internet Explorer. Todos os designers conhecem hoje os "malabarismos" que é necessário fazer para ultrapassar os "bugs" do IE. Acham mesmo que são bugs? Tretas, ... se queres ver a tua página como deve ser desenha-a para IE e obriga os utilizadores a usarem IE. Conhecem a frase "Optimizado para IE xx.x"? Ah, pois é...

Esta estratégia não me parece positiva. Venderam-nos que navegar no iPhone é o mesmo que navegar num PC (opps, PC? I'm a Mac :) ). Para um designer web isto parece ser uma óptima notícia mas, quanto mais leio sobre o assunto, afigura-se-me a um pesadelo.

A discussão sobre o assunto não é abundante:

"LATE ADDITION: I just found a page on flickr of all places that opens up a discussion of readable websites on iPhone. Joe Clark has a comment where he asks, "Why doesn’t Safari support the handheld CSS media type?" David Stong
E Joe Clark diz:
There’s no need for user-agent sniffing, a debased practice from the 1990s. Why doesn’t Safari support the handheld CSS media type? Joe Clark

Estou inclinado a dar razão a Joe Clark. Se o iPhone tivesse o mesmo comportamento que um ecrã de PC (PC? I'm a Mac), como nos querem vender, porque escreve a Apple coisas como estas?

"You can tailor the style of your webpages by providing a style sheet that adapts to iPhone. The CSS 3 media query allows you to do just that. There are several types of queries including print, handheld, and screen. iPhone ignores the print and handheld media queries because these types do not supply high-end content. So the screen query is what you need to use."Specify an iPhone Style Sheet
Mas parece que na resposta à pergunta: Is iPhone an Handheld? A Apple não deixa margem para dúvidas. Não, não é!. E é um ecrã de um PC (screen)? Não, também não. Mau, então em que categoria de equipamento cabe ele? Em nenhum. Ele apresenta-se isolado. Boa... isto pode não ser mau de todo e até se pode chamar de inovação. Já não é a primeira vez que eu próprio, ao falar de Design for All, falo em Design for One.

Veja-se o que propõe a Apple: especifiquem CSS APENAS para o iPhone.

"To specify a style sheet that is just for iPhone without affecting other devices, you use the only keyword in combination with the screen keyword, as follows:"Specify an iPhone Style Sheet.
<link media="only screen and (max-device-width: 480px)" href="small-device.css" type="text/css" rel="stylesheet">

E a pergunta que se segue é: então e os outros dispositivos handheld? Têm que levar em cima com a CSS do iPhone? A resposta vem da Apple.

"Older browsers ignore the only keyword and won’t read your iPhone style sheet. To specify a style sheet for devices other than iPhone, use an expression similar to the following:"
<link media="screen and (min-device-width: 481px)" href="not-small-device.css" type="text/css" rel="stylesheet" />

É interessante esta presunção: "Older Browsers". 2007 é hoje e a OPERA já fez sair este ano várias versões do seu browser para handhelds. O meu Nokia 6630 usa o OPERA com CSS activa bastante bem.

Se todos os fabricantes de handhelds seguirem a mesma técnica da Apple para o IPhone arriscamo-nos a ter uma das maiores dores de cabeça para os designers. Desenharem específicamente para cada equipamento. Imaginem se a WAI do W3C seguisse a mesma estratégia para ir ao encontro das necessidades das pessoas com deficiência? Teriamos algumas dezenas (numa versão optimista) de folhas de estilo e mesmo assim correriamos o risco de deixar alguns utilizadores de fora.

Será que estamos a abandonar o principio da transformação harmoniosa (gracefully transform) de conteúdos que enforma as directrizes de acessibilidade inscritas nas WCAG 1.0?