O suporte a usuários que não usam Javascript está acabando? – javascript acessibilidade

Pergunta:


Sim, óbvio que é importante, porém eu vejo muitos sites que simplesmente não funcionam se o JavaScript estiver desligado. É mais por uma questão de curiosidade, mas hoje em dia é quase obrigatório usar JavaScript em um site grande, então o hábito do “suporte aos usuários que não tem” acaba? Exemplos de sites que não funcionam com o JavaSript desligado:

Lógico que tudo depende do tipo de site que está a ser desenvolvido, mas me refiro aos sites novos que usam vários efeitos bonitos como Parallax, bibliotecas como o Bootstrap e o jQuery, etc. Em especial sites One Page, que usam e abusam do JavaScript, tendo resultados fantásticos.
Então no desenvolvimento desses sites, esse quesito é deixado de lado?

Autor da pergunta Rafael Almeida

Comunidade

JavaScript, com o passar dos anos, tornou-se muito procurado, tendo dado origem a todo um universo de frameworks com as quais a Internet dos dias de hoje parece não sobreviver.

Brendan Eich foi o criador da linguagem JavaScript em 1995, mais tarde o fundador do universo Mozilla, que à umas versões atrás, no seu produto Firefox versão 23 removeu a opção para desligar o JavaScript.

Atendendo que o pessoal da Mozilla é uma referencia no que respeita à Internet, uso e produtividade sob a mesma, e atendendo ao fato de terem removido a opção para desligar o JavaScript, eu diria que sim, que o suporte a pessoal (usuários) sem JavaScript vai acabar!

JavaScript, uma opção ?

A web não anda sem HTML, mas todo e qualquer outro conteúdo multimédia ou linguagem no lado do cliente foi sempre facultativa: JavaScript, CSS, Imagens, Video, etc.

A questão é que nos dias de hoje, com a exigência do publico alvo a aumentar constantemente, com toda a procura de dinamismo e operações em tempo real, a constante tentativa de “abolir” o chato do page-refresh, torna-se difícil para qualquer profissional da área satisfazer o mercado atual sem JavaScript.

Já nem o CSS 2.1 serve para a maior parte dos trabalhos, vai-se lá imaginar uma página sem CSS!

O mesmo se passa com o JavaScript:

  • Validações de dados em tempo real;
  • Efeitos visuais;
  • Temporizadores;
  • Conteúdo dinâmico;
  • Camadas adicionais de proteção em aplicações;

E muitas outra aplicações práticas que tornam o JavaScript indispensável nos dias modernos, fazem com que o mesmo já não seja uma opção mas sim uma necessidade.

Isto é um fato adquirido sob o qual os fornecedores de navegadores trabalham para melhorar e tendem, como a Mozilla, a evoluir ao invés de estagnarem.

JavaScript, tem futuro ?

Quem se recorda de ter trabalho em Flash sabe que a mudança é inevitável e que de hoje para amanhã existe algo novo, melhorado que vem substituir aquilo a que estamos habituados.

Flash foi uma moda, durante anos os sites eram desenvolvidos em flash, o próprio Flash cresceu, foi melhorado e tornou-se a ferramenta indispensável. Hoje, HTML5 faz o que o Flash fazia, de forma mais simples, mais eficaz e com menos problemas de compatibilidade e sem requerer plugins.

O JavaScript vai chegar à fase em que o Flash se encontra hoje, morto na água! Para já, é uma linguagem cheia de vida e futuro, mas com HTML5 e CSS3, muita da necessidade de JavaScript desapareceu, a dada altura também ele irá desaparecer.

Ex.:

Verificar se determinado campo num formulário está vazio:

<form name="meuFormulario" method="post">
  Pergunta: <input name="question" />
  <br />
  <input onclick="return IsEmpty();" type="submit" value="Adicionar Pergunta" />
</form>

JavaScript

function IsEmpty(){
  if(document.forms['meuFormulario'].question.value == "")
  {
    alert("vazio");
    return false;
  }
    return true;
}

HTML5

Basta adicionar o atributo required ao nosso campo, e o navegador trata do resto!

Progressive Enhancement

A técnica assenta num principio simples, criar algo sólido e funcional, indo-se depois aplicar toda uma camada de funcionalidades extra que podem ou não ser utilizadas, se o suporte necessário para as mesmas se encontra disponível.

Nada do paragrafo em cima se verifica na maioria dos sites ou plataformas online atualmente. Tudo o que se procura é fazer bem, rápido e moderno porque daqui a meio ano é para apagar e fazer algo novo!

  • Navegadores avançam de versão em versão tão rápido que quando vou fazer uma atualização já vou 3 ou 4 versões atrás;
  • As tecnologias mudam de tal forma que a melhor solução que temos hoje, daqui a um mês é um “crime” utilizar.
  • Faço um trabalho hoje, daqui a meio ano o cliente quer algo novo, totalmente diferente.

Mas o que é que é mais importante: Avançar ou perder um tempo infinito a garantir que uma pequena minoria que insiste em não avançar consiga ver o que os outros que avançaram estão a ver?

ou seja

Trabalhar com tecnologia atual, entre a qual JavaScript ou continuar a perder um tempo infinito para garântir que quem usa Internet Explorer 7 com JavaScript desligado vai poder utilizar o SOpt ?

Eu diria que sim, que o suporte a pessoal (usuários) sem JavaScript vai acabar!

Tudo depende da exigência de tais usuários: se houver pressão para que os sites funcionem sem JavaScript, ainda existirão sites que funcionem sem JavaScript. Se não houver, não existirão…

Eu diria que a grande maioria das pessoas não dá a mínima pra isso (ou sequer sabem que isso existe!). Mas há um grupo expressivo que se importa – sejam “fanáticos” por software livre que não querem código não-livre executando em sua máquina, sejam “paranóicos” por segurança que não querem código arbitrário executando em sua máquina, sejam pessoas comuns de saco cheio de tanta propaganda que preferem habilitar seletivamente o JavaScript mas mantê-lo desligado por padrão (categoria na qual eu me incluo1).

Pessoas físicas e empresas privadas têm total liberdade para ignorar esses grupos – em geral pequenos demais para fazer um diferença significativa em seus bolsos. Já sites oficiais do governo, por exemplo, podem ser obrigados por lei a manter certos serviços acessíveis, caso sofram pressão suficiente para isso. É o mesmo caso dos sites que só funcionavam no IE ou dos programas que só funcionavam no Windows – o pessoal reclamou tanto que hoje a situação já é bastante diferente (o programa pra fazer declaração de Imposto de Renda, por exemplo, é cross-platform; e muitos bancos têm “modulos de segurança” específicos pro IE – via ActiveX – e pro resto – via Java). Se pressão semelhante existir para que certos sites funcionem sem JavaScript, não restará alternativa a não ser fazer dessa forma2.

Mas para a grande maioria das aplicações, eu concordo com os argumentos do Zuul – se espera muito mais de um site hoje em dia do que simplesmente ler informação estática e ocasionalmente postar alguma coisa. De modo que o uso de JavaScript se tornará mais e mais pervasivo. A menos é claro que alguém invente uma engine mais versátil que um browser – talvez até tornando os browsers obsoletos (difícil mas possível – o protocolo HTTP foi pensado de forma que os clientes – ou User Agentsevoluíssem de forma independente dos servidores, e vice-versa). Que permita fazer 95% do que os sites atuais fazem, porém de uma forma puramente declarativa, sem precisar de código [executável] arbitrário. Difícil de imaginar hoje em dia, mas todas as tecnologias disruptivas começam assim… 😉


1. Sério! Experimente navegar 1 mês com NoScript ligado e depois voltar ao que era antes. Você não aguenta… A Internet fica literalmente mais bonita com o NoScript!

2. E existem razões mais importantes que evitar anúncios para se desabilitar JavaScript, especialmente em sites vindos do(s) governo(s)…

Fonte

Related Posts:

Qual a diferença entre AppCompatActivity e Activity? – android android-activity
Pergunta: Qual a diferença da AppCompatActivity para Activity ? A partir de qual versão a AppCompatActivity foi adicionada ao Android? Autor da pergunta Luhhh A diferença reside ...
Como abreviar palavras em PHP? – php string
Pergunta: Possuo informações comuns como nome de pessoas e endereços, e preciso que elas contenham no máximo 30 caracteres sem cortar palavras. Exemplo: 'Avenida Natalino João Brescansin' ...
Qual é a finalidade de um parêntese vazio numa declaração Lambda? – c# expressões-lambda característica-linguagem
Pergunta: Criei um exemplo de uma declaração Lambda sem argumentos, entretanto, estou com duvidas referente a omissão do parêntese vazio () na declaração. Veja o exemplo: class ...
Boas práticas para URI em API RESTful – api rest restful
Pergunta: Estou com dúvida em relação às URIs de alguns recursos da api que estou desenvolvendo. Tenho os recursos projetos e atividades com relação 1-N, ...
Dúvidas sobre a integração do MySQL com Java – java mysql netbeans
Pergunta: Estou criando um sistema no NetBeans, utilizando a linguagem Java e o banco de dados MySQL. Escrevi o seguinte código para realizar a conexão ...
Qual é a finalidade da pasta Model do framework Inphinit? – php inphinit
Pergunta: No Inphinit micro-framework existe a pasta Model que fica dentro da pasta application, e nela é onde ficam as classes, mas eu estou muito ...
Uso do ‘@’ em variáveis – javascript typescript coffeescript
Pergunta: Vejo em algumas linguagens que compilam para javascript, como TypeScript e CoffeeScript, o uso do @ em variáveis, como também, casos em que o ...
Qual tamanho máximo um arquivo JSON pode ter? – json arquivo
Pergunta: Vou dar um exemplo para conseguir explicar minha duvida: Preciso recuperar informação de imagens vindas de uma API, esse banco de imagens me retorna JSON's ...
O que é Teste de Regressão? – terminologia engenharia-de-software testes
Pergunta: Na matéria de Teste de Software o professor abordou um termo chamado Teste de Regressão, isto dentro da disciplina de teste de software. Sendo ...
O que é um construtor da linguagem? – php característica-linguagem
Pergunta: Em PHP, já li e ouvi várias vezes a respeito dos Construtores da Linguagem. Os casos que sempre ouvi falar deles foi em casos ...
Função intrínseca para converter numérico para string – cobol
Pergunta: Estou a tentar saber se existe alguma função intrínseca do COBOL para converter um data numérico para string sem precisar usar a cláusula REDEFINES: ( ...
Porque usar implements? – java android
Pergunta: Qual a diferença entre usar btn.setOnClickListener(new OnClickListener() { e public class MainActivity extends Activity implements OnClickListener{ Estive fazendo um curso de Android e meu professor falou que ...
O que é XHTML e quando deve ser usado? – html xml xhtml
Pergunta: O que eu sei é que o XHTML precisa ser XML válido. Isso implica, por exemplo, que todas as tags precisam ser fechadas. Por ...
Uma placa aceleradora de vídeo pode melhorar o desempenho não-gráfico? [fechada] – desempenho
Pergunta: Para desenvolver em Ruby on Rails, eu utilizo aqui uma máquina virtual do VirtualBox com Ubuntu Server 14.04 sem interface gráfica instalada. Recentemente descobri uma ...
Concat() VS Union() – c# .net
Pergunta: Qual a diferença entre Concat() e Union() ? Quando usar Concat() e quando usar Union() ? Somente pode ser usado em list ? ...

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *