mudanças Flash Tab Order
-
06-09-2019 - |
Pergunta
Eu estou tentando adicionar um pouco de acessibilidade para leitores de tela em um aplicativo Flash, e estou correndo contra um ponto pegajoso. A ordem de tabulação através de elementos é definida pela propriedade tabIndex desses elementos. A dificuldade é, a lista guia construídos a partir destes parece ser permanente, mas o conteúdo do aplicativo é dinâmico (construídos a partir de xml, contém pop-ups e caixas de diálogo). Existe uma maneira para atualizar / reconstruir a lista de guia? Estou disposto a ir a extremos, e tentar alguns hacks louco para fazer este trabalho, por isso todas as sugestões são boas.
Solução
definir editar os elementos TABINDEX valores a qualquer momento você quiser
como configurá-los para ser o mesmo para childIndex
for (var i:int=0;i<container.numChildren;++i) {
container.getChildAt(i).tabIndex = i; //=i or anything you want
}
As seguintes obras para me
iButton1.tabIndex = 1;
iButton2.tabIndex = 2;
iButton3.tabIndex = 3;
iButton1.tabEnabled = true;
iButton2.tabEnabled = true;
iButton3.tabEnabled = true;
function fnClick (pME:MouseEvent):void {
iButton1.tabIndex = 3;
iButton2.tabIndex = 2;
iButton3.tabIndex = 1;
}
iButton3.addEventListener(MouseEvent.CLICK, fnClick);
Você pode baixar um fla exemplo aqui http://matrixoft.infunity.com/agents/calvin/flash/tab. rar
clique no terceiro botão e ele vai mudar a ordem de tabulação. Você pode precisar de "Control> atalhos de teclado Desativar" quando Ctrl-Enter para testar o fla
Outras dicas
Estou compilando com o Flash Player 11.4 Alternando propriedade tabEnabled do TextField é bom, mas eu estou achando que ele não funciona para SimpleButtons (eles não se tornem habilitados novamente quando configuração tabEnabled volta para true). Por que eu estou usando o seguinte:
private function setPanelOneTabIndices()
{
aButton1.tabIndex = 1;
aButton2.tabIndex = 2;
aButton3.tabIndex = 3;
bButton1.tabIndex = 0;
bButton2.tabIndex = 0;
bButton3.tabIndex = 0;
}
private function setPanelTwoTabIndices()
{
aButton1.tabIndex = 0;
aButton2.tabIndex = 0;
aButton3.tabIndex = 0;
bButton1.tabIndex = 1;
bButton2.tabIndex = 2;
bButton3.tabIndex = 3;
}