アプリケーションにアクセシビリティを追加しようとしています。Spark コンポーネントでアクセシビリティがどのように機能するのか、まだ正確にはわかりません。
ナレーター機能が有効になっているウィンドウのプラットフォームを使用しています。私がやりたいことは、アクセシビリティのために 3 つのフィールドに別の名前を付けて、ユーザーが何をすべきかを理解できるようにすることだけです。宣言を使用してアクセシビリティ プロパティを定義しようとしましたが、常にボタンの 1 つの名前だけを話すようです。したがって、別のアプローチを取り、作成が完了したときにアクセシビリティ プロパティを作成しようとしました。ナレーターが最初にアクセシビリティの正しい名前を拾っているように見えますが、すぐにボタンに移動すると、すべての名前が置き換えられて「検索ボタン」と呼ばれるようになります。理由はわかりますか?!?! とても困惑しています。どんな助けでも大歓迎です。
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:accessbility="flash.accessibility.*" initialize="onInit()" creationComplete="onComplete()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.modernista.swffocus.SWFFocus;
private function onComplete():void {
var ap1:AccessibilityProperties = new AccessibilityProperties();
ap1.name = "search";
searchInput.accessibilityProperties = ap1;
var ap2:AccessibilityProperties = new AccessibilityProperties();
ap2.name = "name input";
nameInput.accessibilityProperties = ap2;
var sb:AccessibilityProperties = new AccessibilityProperties();
sb.name = "search button";
searchSubmit.accessibilityProperties = sb;
Accessibility.updateProperties();
}
// this helps Firefox capture and release keyboard focus
private function onInit():void {
SWFFocus.init(systemManager.stage as Stage);
}
]]>
</fx:Script>
<mx:Form defaultButton="{searchSubmit}">
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle" >
<mx:TextInput id="searchInput" width="540">
</mx:TextInput>
<mx:TextInput id="nameInput" width="540">
</mx:TextInput>
<mx:Button id="searchSubmit" label="search" />
</mx:HBox>
</mx:Form>
</s:WindowedApplication>