Devo me preocupar com pessoas desativando o Javascript?

15

Frequentemente, ao escolher novas ferramentas e estruturas, vejo o aviso "Não funcionará se o usuário tiver desabilitado o Javascript". Depois, olho para a minha apresentação de slides com Javascript, o menu com Javascript e a galeria com Javascript. Curiosamente, eu os escolhi para substituir as versões originais baseadas em flash, pois me preocupava com o número de pessoas que as veriam.

Mas se preocupar com pessoas que desativam o Javascript é uma preocupação legítima? Devo tentar criar meu site com o JS sendo desativado?

TheLQ
fonte

Respostas:

13

Isso depende do site, seu objetivo e quem é o grupo demográfico.

Se você estiver projetando um site do governo, um site bancário, uma home page corporativa etc., você deve garantir que o site funcione sem JavaScript. Mas se você estiver criando um site de entretenimento / lazer como o Twitter ou o Facebook, não é tão ruim exigir JavaScript. E se o seu site for um aplicativo rico da Internet que absolutamente não funcionará sem scripts do lado do cliente (por exemplo, Meebo), é absolutamente razoável exigir JavaScript.

A maioria dos recursos em um site típico provavelmente não deve exigir JavaScript. Não há problema em centralizar a experiência do usuário nos clientes com o JavaScript ativado, mas se você estiver executando um fórum, verifique se os usuários ainda podem postar / ler mensagens sem JavaScript, mesmo que isso signifique que a interface é mais básica.

Lèse majesté
fonte
4
Os requisitos para sites públicos ou governamentais mencionados por Lèse são chamados de conformidade 508: section508.gov
XOPJ
21

Estou surpreso que ninguém mencionou aprimoramento progressivo . Raramente existe um bom motivo para ter funcionalidades ou conteúdos que exijam JavaScript para funcionar. Sim, JavaScript pode tornar a experiência do usuário melhor , mas não deve ser obrigado a fazer a experiência do usuário possível .

Portanto, minha resposta é: você deve criar seu site para que todos possam acessar tudo, mesmo sem JavaScript (assumindo conteúdo publicamente disponível. Administradores de sites, intranets, etc., seriam exceções óbvias, pois você pode ditar realisticamente os requisitos do navegador nessas situações).

EDITAR

Oh sim. Este é um mecanismo de busca amigável também. JavaScript não é.

John Conde
fonte
Vamos ver, o menu suspenso baseado em Javascript já que eu ainda não vi um CSS puro que funcione (o menu suspenso é um requisito real), uma apresentação de slides em Javascript na primeira página para substituir o antigo baseado em Flash, uma vez que o Flash é. .. flash (obrigatório) e uma galeria Javascript que foi usada para aprimorar a usabilidade e a facilidade de uso da interface (nunca gostei quando as imagens expandidas foram abertas em uma nova guia e, no meu caso, pareceria horrível). Não há realmente nenhuma alternativa
TheLQ
11
"desde que eu ainda não tenha visto um CSS puro que funcione". Eu uso menus CSS e eles funcionam muito bem, você pode elaborar mais sobre essa parte?
Mee
3
@ Waleed: Um problema potencial com menus suspensos puramente baseados em CSS é que eles são muito responsivos. Os bons menus suspensos JS têm um atraso para eventos de mouseout para evitar o problema diagonal (ao sair temporariamente do item de menu pai antes de acessar o item de submenu). Você não pode fazer isso com CSS; portanto, é necessário criar seus menus de forma que o usuário mova o mouse apenas na vertical ou na horizontal para acessar os itens do submenu. No entanto, concordo que você deve começar com um menu baseado em CSS e aprimorá-lo progressivamente com JS, para que o JS não seja necessário para a navegação básica.
Lèse majesté
11
@ Leia mais, embora você não possa ter um atraso nos menus CSS, existem truques para contornar isso e surpreendentemente eles realmente funcionam muito bem (por exemplo, consulte cssplay.co.uk/menus/final_drop3.html ). Além disso, verifique a demonstração em cssplay.co.uk/menus/vertical-list.html para ver como os menus CSS podem ser complexos. De maneira alguma isso significa que estou tentando defender o uso de javascript para menus. Tudo o que estou tentando dizer é que, se isso pode ser feito sem javascript, por que usar o javascript esp. para algo tão importante quanto a navegação no site?
Mee
2
@TheLQ, tudo o que você mencionou pode ser feito sem JavaScript. E o JavaScript que você mencionou é apenas um aprimoramento. Todos os exemplos perfeitos de quando o aprimoramento progressivo deve ser usado.
John Conde
3

Nicholas C. Zakas informa que cerca de 1% do tráfego real de visitantes de sites da rede Yahoo faz solicitações desabilitadas para JavaScript.

... a grande maioria dos usuários tem navegadores habilitados para JavaScript e, portanto, pode tirar proveito de todas as funcionalidades aprimoradas e interfaces dinâmicas que desenvolvedores e designers adoram criar. Do ponto de vista do planejamento, faz sentido gastar mais tempo com a experiência que o maior número de usuários recebe, sabendo que seu investimento em tempo vale a pena.

Portanto, descubra as estatísticas do seu próprio site e construa-o para que ele beneficie a maioria e ainda degrada graciosamente para quem tem o JS desativado.

mvark
fonte
0

Não é necessário se preocupar, não.

Dito isto, tornar seu site acessível e utilizável é uma boa ideia. Geralmente, o uso pesado de JavaScript e a acessibilidade não andam de mãos dadas tão bem.

Desde que seu site ainda possa ser usado com o JavaScript desativado, você estará em boa forma. Mesmo que o site não pareça necessariamente tão bom quanto você gostaria que fosse.

Evgeny
fonte
0

O Facebook não funcionará sem JavaScript. O que aprendi é que a maioria das pessoas que não tem JavaScript provavelmente não assinará seu produto. Usamos o JavaScript para aprimorar a experiência do usuário, mas não a torna um requisito.

Portanto, seu site deve funcionar sem JavaScript, mas não precisa ter uma boa aparência. As chances são de que, se alguém estiver visitando seu site sem o JS ativado, seja um BOT, um Hacker, um adolescente de 99 anos ou um esquisito em uma conexão discada, tentando acelerar as coisas.

Se você oferece um produto comercial, SAS ou aplicativo em nuvem, nem se preocupe com essa pequena porcentagem de usuários. Não vale a pena o tempo de desenvolvimento e, novamente, eles provavelmente nunca se inscreverão no seu serviço.

Se você estiver usando JavaScript para armazenar itens de carrinho de compras em uma loja de comércio eletrônico, examinaria a arquitetura e garantiria que você ofereça uma funcionalidade não-js.

Frank
fonte
Eu sei o que você está falando, mas seu site deve ficar bem com ou sem JS. JS realmente não deveria ser obrigado a ter um site bonito.
Lèse majesté
Concordo com isso ... Mas digamos que você tenha um menu que só mostra quando o javascript está ativado, ou talvez uma ferramenta que use javascript pesado, então eu não me preocuparia em criar duas versões apenas para satisfazer uma pequena parcela ... 80/20 regra se aplica
Frank
2
Apenas verifique se o menu é apenas para um recurso JavaScript ou para um aprimoramento não vital, como um editor WYSIWYG. Seu site deve ser navegável sem JavaScript. Caso contrário, vale a pena criar um menu também visível sem JavaScript.
Lèse majesté
11
O aprimoramento progressivo não exige a construção do site duas vezes. E se seu site não se importa em perder 20% de sua receita potencial, tudo bem. Mas tente dizer a alguém que você voluntariamente desistiu de 20% de sua receita só porque não queria fazer um pouco de codificação extra e ver qual é a resposta deles. Tente isso com um cliente também.
John Conde
Sim, mas neste caso não é realmente 20/80 mais como 1/500. Recentemente, acabamos de construir um site de ponta para um empreendimento parceiro usando cappuccino envolto em um aplicativo adobe air ajax. O aplicativo nunca funcionaria corretamente ou mesmo com o javascript desativado. Eu acho que cada aplicativo é diferente, mas, novamente, isso me diz muito quando o Facebook não funciona sem o javascript ativado. Minha regra é que, se você estiver vendendo algo, permita que a venda ocorra sem javascript, além disso, o javascript é obrigatório.
Frank