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.

Foi útil?

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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top