Flex Accessibility 全键盘支持和扩展
2010-07-23 00:00:00 来源:WEB开发网清单 7. AccHBox 类
public
classAccHBox extendsHBox implementsIFocusManagerComponent
{
/**
* 继承 IFocusManagerComponent 接口并设置 tabEnabled,focusEnabled 和 tabChildren 属性为 true 使
* AccHBox 类可以接受焦点,并且它的孩子也都可以接受焦点
*/
public
functionAccHBox()
{
Super();
this.focusEnabled = true;
this.tabEnabled = true;
this.tabChildren = true;
}
/**
* 覆写 focusInHandler 函数改变 HBox 的默认行为,默认焦点在最后一个孩子
*/
override
protected
functionfocusInHandler(event:FocusEvent):void
{
super.focusInHandler(event);
if(this.numChildren <= 0) return;
varlastChild:DisplayObject = this.getChildAt(this.numChildren-1);
if(lastChild isIFocusManagerComponent)
{
this.focusManager.setFocus(IFocusManagerComponent(lastChild));
}
}
}
keyDownHandler(event:KeyboardEvent) 和 keyUpHandler(event:KeyboardEvent)
之前介绍的所有的类和方法都与焦点有关,因为全键盘支持的关键就在焦点,组件只有在获得焦点后才能接受键盘的操作。对键盘操作的处理可以在 keyUpHandler 和 keyDownHandler 方法中实现。keyDownHandler 是 key Down 事件调用的事件处理函数,keyUpHandler 是 Key Up 事件调用的事件处理函数。基本上所有实现了 IFocusManagerComponent 接口的组件都覆写了这两个方法以实现键盘操作的支持。Flex 的全键盘支持有一套自己的规则,如一般的 Web 应用都会使用 Enter 键作为用户选择执行操作的键,Flex 则使用 Space 键(某些组件同时支持 Enter 和 Space),在开发 Flex 应用的时候要充分考虑到整个应用全键盘支持的一致性,所以建议在用户自定义的组件中同时支持 Space 键和 Enter 键或者只支持 Space 键,如果用户想只支持 Enter 键,那么需要覆写 Flex 所有不支持 Enter 键的组件以实现应用级的一致性,这显示是不可取的。以之前的 AccImage 为例,我们实现可以接受键盘操作的 AccImage.
Tags:Flex Accessibility 键盘
编辑录入:爽爽 [复制链接] [打 印]- ››键盘样式风格有关设置
- ››Accessibility.updateProperties ,Accessibility...
- ››Flex和JavaScript互操作
- ››Flex 自定义组件外观
- ››Flex Accessibility 全键盘支持和扩展
- ››FlexPaper 1.3.1 发布,在线PDF显示
- ››Flex分页控件
- ››Flex--本地安全策略问题
- ››键盘流必备 - Windows 7常用快捷键整理之基础篇
- ››键盘流必备 - Windows 7常用快捷键整理之WIN键篇
- ››键盘流必备 - Windows 7常用快捷键整理之任务栏篇...
- ››键盘流必备 - Windows 7常用快捷键整理之资源管理...
更多精彩
赞助商链接