Qual a forma correcta de testar migrações?
Usar:
rake migrate RAILS_ENV=test
e chega
Web,ruby, Ajax ou qualquer outra coisa que me venha a cabeça (com prioridade para esta última)
Qual a forma correcta de testar migrações?
Usar:
rake migrate RAILS_ENV=test
e chega
Quando se pensa em acessibilidade do conteúdo na web há uma tendência para nos concentrarmos nas pessoas com incapacidades visuais. As pessoas com incapacidades cognitivas e com dificuldades de aprendizagem são frequentemente esquecidas.
O artigo original é do: Juicy Studio, Developing sites for users with Cognitive disabilities and learning difficulties, Este artigo escrito por Roger Hudson, Russ Weakley, e Peter Firminger, examina os tipos de problemas que os visitantes podem encontrar quando usam a web com sugestões profundas e práticas sobre como desenvolver sítios web que incluam as pessoas com incapacidades cognitivas ou com dificuldades de aprendizagem.
Autor: Russ Weakley
Por Roger Hudson, Russ Weakley, e Peter Firminger
[De volta à tabela de conteúdos]
O grupo de dificientes maior na nossa comunidade é o das pessoas com dificiências cognitivas e com dificuldades de aprendizagem, contudo é um grupo frequentemente esquecido em relação à acessibilidade de um sítio web.
As etiquetas de incapacidade cognitiva e dificuldades de aprendizagem, parece englobar um amplo espectro de condições que os responsáveis pelo desenvolvimento da web acham frequentemente difíceis de indentificar ou de tratar as necessidades especificas dos indivíduos ou grupos que normalmente descrevem.
Muitas dificiências distintas podem afectar a capacidade de uma pessoa em aceder a um sítio web e usar a informação nele contida, por exemplo:
Para o responsável pelo desenvolvimento da web a situação pode apresentar-se mais complexa pelo facto de que os utilizadores individuais com estas condições podem ter necessidades muito diversas. É comum para indivíduos com problemas cognitivos numa área serem extraordinariamente habilitados noutras áreas. Por exemplo uma pessoa que é um excelente leitor pode ter consideráveis problemas em compreender como é que uma página web é organizada ou ser facilmente distraído por uma pequena imagem animada.
Pode a web tratar das necessidades de todos estes diferentes grupos. Provavelmente sim, mas com sítios web diferentes.
A web pode trazer prazer considerável e ajudar pessoas com diferentes e em alguns casos muito profundas incapacidades cognitivas. O projecto Peepo (já fechado) dava um largo espectro de recursos e ideias para capacitar as pessoas com sérias dificuldades de aprendizagem a navegar e usar a web com independência.
O foco deste artigo é em primeiro lugar sobre como melhorar a web para pessoas que têm capacidade funcional para acederem independentemente e usarem sítios que contenham algum conteúdo textual. Em particular, o artigo sugerem alguns métodos simples que podem melhorar a acessibilidade dos sítios a pessoas que acham difícil ler e usar conteúdo escrito.
Para uma versão mais detalhada deste artigo vá para Uma Fronteira da Acessibilidade: dificiências cognitivas e dificuldades de aprendizagem
[De volta à Tabela de conteúdos]
O conteúdo que é bem escrito será fácil para todos acederem incluindo pessoas com dificuldades de aprendizagem ou cognitivas.
A maior parte dos utilizadores da web acham que as linhas muito extensas são difíceis de ler. Para pessoas com problemas de leitura as linhas extensas podem tornar-se numa barreira significativa. À medida que a resolução do ecrã vai aumentando, é possível obter mais e mais caracteres numa linha num determinado tamanho do tipo de letra, contudo o tamanho de tipo de letra óptimo para leitura fácil varia de leitor para leitor. Como resultado é difícil ser definitivo sobre qual será o melhor comprimento de linha, mas como regra geral uma linha não deve exceder os 70 a 80 caracteres e o texto deve ser marginado do lado direito e esquerdo.
Muitos utilizadores da web com dificuldades de leitura têm problemas com texto que é alinhado tanto à direita como à esquerda. O espacejamento desigual entre palavras do texto completamente alinhado pode causar "rios espaço em branco" que correm de cima abaixo e tornam a leitura mais difícil e em alguns casos impossível para algumas pessoas. A solução simples é evitar usar texto alinhados dos dois lados (texto justificado).
Um forma simples de tornar o conteúdo mais acessível é usar o estilo da pirâmide invertida na escrita adoptada pela maior parte dos jornais. Começar por um sumário ou pequena introdução do tema e a súmula e depois dar os detalhes de fundo e informação de suporte. Isto permite aos utilizadores determinar rapidamente se há informação em que estejam interessados sem terem de analisar a totalidade da página.
[De volta à Tabela de Conteúdo]
Para alguns utilizadores da web, em particular, para aqueles com deficiências cognitivas e dificuldades de aprendizagem grandes quantidades de texto numa página podem tornar-se numa barreira à acessibilidade. Permitir que o utilizador tenha algum controlo sobre a informação que lhe seja apresentada pode reduzir o impacto deste problema potencial. É possível agora dar aos utilizadores a capacidade de escolherem entre uma versão simples ou uma versão detalhada do conteúdo da página de várias formas.
Este método permite aos utilizadores escolherem entre uma versão abreviada ou uma versão extensa do conteúdo da página em todo um sítio web. Os utilizadores que optarem pela versão abreviada podem navegar no sítio, lerem a versão de texto mais breve de cada página. Se numa determinada página desejarem informação mais detalhada, eles seleccionam a opção da versão e é carregada a versão extensa do conteúdo.
Este método foi usado pelo sítio baseado em Sydney do Guardianship Tribunal. O teste de utilização deste sítio envolveu um largo espectro de utilizadores, incluindo alguns com dificuldades cognitivas e de aprendizagem. Quando percebiam que podiam escolher entre versões breves ou extensas do conteúdo das páginas a maior parte dos utilizadores achavam esta capacidade sem vantajosa. Por exemplo pessoas com problemas de leitura eram capazes de obter a versão abreviada da informação que conseguiam ler e compreender. Os assistentes sociais e os médicos também usavam o conteúdo breve como opção por omissão na sua navegação visto permitir localizar informação que lhes era necessária de forma rápida.
Um método similar usar frases simples ou cabeçalhos como forma de dar uma visão geral do conteúdo. Estas são apresentadas como balas que também servem como as chaves para obter mais informação. Quando o utilizador selecciona uma bala a versão extensa da informação relativa a esse ponto é apresentada na lista de balas.
Este método também usa balas para frases simples ou cabeçalhos. Contudo o conteúdo expandido não é mostrado dentro de cada bala. É, de facto, mostrado por baixo da lista completa de balas. Esta opção é melhor para porções de conteúdo extensas.
Usar a web para fornecer conteúdo informativo para utilizadores com deficiências cognitivas mais sérias poderá exigir uma aproximação diferente. Um método sugerido envolve a apresentação da informação numa apresentação de diapositivos integrada com um diapositivo separado por cada conceito ou assunto. Isto irá permitir que o conteúdo fornecido o seja de forma clara, fácil de aceder em bocados que o utilizador pode percorrer à sua própria cadência.
Uma das principais vantagens das «Cascading Style Sheets» (CSS) é que podem ser usadas para manipular a apresentação do conteúdo sem afectar a estrutura do conteúdo. Eis alguns métodos simples que usam CSS para tornar o conteúdo mais acessível para pessoas com dificiências cognitivas e dificuldades de aprendisagem.
Alguns utilizadores acham que um aumento do espaço entre linhas de texto num parágrafo pode ajudar na legibilidade.
Normalmente há uma linha completa de intervalo entre parágrafos num bloco de conteúdo. Aumentar este intervalo para 1,5 ou 2 linhas de espaço pode ajudar a legibilidade para alguns utilizadores.
Alguns utilizadores têm dificuldade em distinguirem ligações de outros conteúdos. As ligações podem receber um efeito de pairar (do rato) que as faça mudar de cor quando o rato paira por cima delas.
O sublinhado tradicional em conteúdo textual pode tornar difícil a leitura de caracteres com pernas abaixo da linha de escrita (como por exemplo pq e semelhantes) para alguns utilizadores. Retirando o sublinhado por omissão das ligações e usando a técnica CSS de borda inferior para sublinhar a ligação, pode controlar a distância entre o texto e o sublinhado.
Para alguns utilizadores, particularmente para aqueles com dificuldades motoras, clicar nas ligações é difícil. Ao usar-se CSS, a área alvo das ligações pode ser aumentada.
Alguns utilizadores com dificuldades de leitura acham difícil saber onde vão na página. Ao aplicar efeitos de pairar a parágrafos, itens de lista e linhas de tabelas permite-lhes usar o rato como dispositivo de marcação de lugar.
Infelizmente o Internet Explorer não suporta o efeito de pairar em parágrafos, listas ou linhas de tabela. Contudo se achar que isto é uma opção valiosa para os seus utilizadores pode ser usado JavaScript para simular este efeito no Internet Explorer (usando o IE7 de Dean Edwards).
Outro método para utilizadores com dificuldades de leitura envolve sublinhar o conteúdo em parágrafos activos. A ideia é fornecer uma régua virtual que fica por baixo de cada linha de texto permitindo ao utilizador manter os olhos na linha que estejam a ler de modo mais fácil.
Um dos possíveis problemas levantados por este método é que alguns utilizadores podem confundir o parágrafo sublinhado com a apresentação por omissão de uma ligação. Usar CSS para dar um estilo diferente de sublinhado por exemplo uma linha tracejada vermelha, pode reduzir o risco de confusão potencial.
Alguns utilizadores acham que o conteúdo é mais fácil de ler se as cores de texto e fundo forem invertidas, sendo o conteúdo da página escrito com uma cor leve e o fundo com uma cor escura.
Alguns utilizadores acham que as páginas com cor de fundo branca produzem demasiada luminosidade tornando-as difíceis de ler. Pode tratar-se disto usando uma cor ligeiramente fora do branco ou um cinza claro para o fundo o qual irá reduzir a quantidade de luminosidade.
As várias ideias esboçadas neste artigo podem ser usadas para permitir que a cada utilizador de um site seja apresentada uma página web da forma que lhe seja mais útil.
Quando se combina CSS com JavaScript ou processamento do lado do servidor é possível a um responsável pelo desenvolvimento incluir algumas das sugestões de melhoria de acessibilidade (isto é, borda de baixo nas ligações e área de ligação aumentada) como parâmetros por omissão de apresentação de página, enquanto se permite aos utilizadores controlarem outros elementos da página tais como:
Estes exemplo não são "a" resposta definitiva de todos os problemas de utilizadores com deficiências cognitivas e dificuldades de aprendizagem quando acedem a um sítio web. Em vez disso, são sugestões para responsáveis pelo desenvolvimento. Uma pessoa que esteja interessado em tornar o seu conteúdo mais acessível para uma audiência mais alargada poderá querer experimentar. Embora algumas das técnicas tenham sido testadas com utilizadores que têm dificuldades cognitivas e de aprendizagem, outras são simples ideias teóricas ou meros palpites.
Os ficheiros dos helpers numa aplicação Rails devem ser usados para albergar código que se queira partilhar com vários ficheiros de vistas.
Quando queremos partilhar código entre controladores devemos colocar os métodos a partilhar em ApplicationController (app/controllers/application.rb). Não se pode esquecer tornar esses métodos privados de forma a não poderem ser chamados como acções.
Outra hipótese é colocar esses métodos num módulo e depois chamar esse módulo onde necessário como em:
# lib/login.rb
module Login
def utilizador_actual
# código para determinar utilizador actual
end
end
# app/controllers/comments_controller.rb
class CommentsController < ApplicationController
include Login
def edit
utitlizador = utilizador_actual
end
end
"isto é uma frase de teste.".titleize
De que resultará algo como:
Isto é Uma Frase De Teste."
A associação has_many dá um modo de aceder a uma relação unidirecional entre duas tabelas.
Exemplos disto:
Ver o exemplo do forum
belongs_to complementa uma associação has_many ou uma associação has_one.
Em geral, o modelo Coisa belongs_to :barra se a tabela coisa tiver uma coluna chave externa barra_id.
Exemplos disto:
Ver o exemplo do forum
Quando usar :counter_cache => true, assegure-se que o valor por omissão da coluna model_count é algo que possa ser incrementado. Por exemplo NULL + 1 é igual a NULL e assim o contador SQL não funcionará.
Ver a API para mais informação sobre :counter_cache
Com toda a excitação que ocorre com o AJAX não tinha olhado para outros métodos de obter páginas com interactividade elevada com métodos mais simples.
No entanto tenho estado a experimentar isto com um pouco mais de atenção e claro que encontrei muita coisa de que ainda não tinha ouvido falar anteriormente como por exemplo em: AHAH (tive em tempos um jogo que se chamava assim) e em JAH algo que é uma união de AHAH com JSON.