Controles HTML (input, select, button, etc) não recebem foco pelo clique ou toque
Recentemente passei por um problema sobre o assunto acima, alias, ainda persiste em um local/browser.
O PROBLEMA
O problema é basicamente a impossibilidade de o usuário preencher algo num formulário HTML tentando clicar/tocar pois nenhum input, select, botão, nada, recebe o foco.
O detalhe é que utilizando a tecla TAB eu consigo navegar até o controle, que ganha foco e então posso digitar ou selecionar (as options de um select por exemplo...com teclas apenas).
CONTEXTO DE EXECUÇÃO
São dois ambientes e browsers distintos em que o problema ocorre(ia), em casa e no trabalho, utilizando o Firefox e o Chrome.
- Em casa tanto Firefox quanto Chrome ocorriam o problema.
- No trabalho apenas o Firefox com esse problema.
E ainda, projetos diferentes também, com frameworks JS diferentes.
TESTES FEITOS
- Não havia má formação de tags.
- Não havia erro de scripts, sem mensagens no console das ferramentas de desenvolvimento de cada browser testado.
- Fiquei achando que fosse problema de versão de alguma biblioteca (JQuery por exemplo), mas o mesmo código funciona em outros ambientes e usuários Windows.
- JQuery não é o culpado, alias, páginas puramente com JQuery não dão problema.
- Pensei que fosse algo sobre a framework utilizada, Usada a ExtJS um projeto, mas o mesmo problema também ocorria na Metro UI CSS, resumindo, projetos distintos, problema igual.
- Tentei isolar se era algo sobre vírus, mas não encontrei nada para tal.
- Teste que funcionou: criei um novo usuário no Windows ..
- Tentei versão diferente do navegador, testei no Firefox, versões 35, 43 e 45, todas com problema.
- Testado também publicar a aplicação no IIS do computador e também executando via IIS Express chamado pelo Visual Studio.
A SOLUÇÃO
Consegui encontrar a solução apenas para a situação relacionada ao projeto que utiliza a Metro UI CSS. Percebi que a situação abaixo causava o problema:
...
...
...ou seja, não pode haver divs com class grid aninhadas.
Creio que haja um problema parecido com o ExtJS, class CSS, mas não encontrei nada, mesmo porque todas as páginas estão com problema.
O pior, porque de repente aconteceu isso com os navegadores?
Há outras soluções na referência no final do artigo eu cito um link com programadores que esbarraram no mesmo problema e com diferentes soluções.
Referências:
- http://stackoverflow.com/questions/3724749/html-input-fields-does-not-get-focus-when-clicked
- http://metroui.org.ua/
Comentários
Postar um comentário