我正在尝试将屏幕阅读器的某些可访问性添加到Flash应用程序中,并且遇到了一个棘手的问题。元素之间的制表顺序由这些元素的tabIndex属性设置。困难在于,从中构造的选项卡列表似乎是永久的,但是应用程序的内容是动态的(从xml构建,包含弹出窗口和对话框)。有没有刷新/重建选项卡列表的方法?我愿意竭尽全力,并尝试一些疯狂的技巧来使这项工作奏效,所以任何建议都是不错的。

最佳答案

您可以随时设置编辑元素的tabIndex值

就像将它们设置为与childIndex相同

for (var i:int=0;i<container.numChildren;++i) {
    container.getChildAt(i).tabIndex = i; //=i or anything you want
}

以下对我有用
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);

您可以在此处下载样本fla
http://matrixoft.infunity.com/agents/calvin/flash/tab.rar

单击第三个按钮,它将更改选项卡顺序。
当您按Ctrl键输入来测试fla时,可能需要“控制->禁用键盘快捷键”

关于Flash标签顺序更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/924373/

10-13 01:15