AccessibleNavigation 枚举

定义

指定用于在辅助性对象之间进行定位的值。

C#
public enum AccessibleNavigation
继承
AccessibleNavigation

字段

名称 说明
Down 2

到位于起始对象下的同级对象的导航。

FirstChild 7

到对象的第一个子级的导航。

LastChild 8

到对象的最后一个子级的导航。

Left 3

到位于起始对象左边的同级对象的导航。

Next 5

到下一个逻辑对象的导航,通常是从同级对象到起始对象。

Previous 6

到前一个逻辑对象的导航,通常是从同级对象到起始对象。

Right 4

到位于起始对象右边的同级对象的导航。

Up 1

到位于起始对象上边的同级对象的导航。

示例

下面的代码示例演示如何创建辅助功能感知图表控件,并使用 AccessibleObjectControl.ControlAccessibleObject 类公开可访问的信息。 控件绘制两条曲线以及一个图例。 ChartControlAccessibleObject派生自 ControlAccessibleObject的 类用于在 方法中CreateAccessibilityInstance为图表控件提供自定义可访问信息。 由于图表图例不是基于实际 Control 控件的控件,而是由图表控件绘制的,因此它没有任何内置的可访问信息。 因此, ChartControlAccessibleObject 类重写 GetChild 方法,以返回 CurveLegendAccessibleObject 表示图例每个部分的可访问信息的 。 当可访问的应用程序使用此控件时,该控件可以提供必要的可访问信息。

此示例演示如何将 AccessibleNavigation 枚举与 方法结合使用 Navigate 。 有关完整的代码示例, AccessibleObject 请参阅类概述。

C#
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
    ChartControl chartControl;

    public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl) 
    {
        chartControl = ctrl;
    }

    // Gets the role for the Chart. This is used by accessibility programs.
    public override AccessibleRole Role
    {  
        get {
            return AccessibleRole.Chart;
        }
    }

    // Gets the state for the Chart. This is used by accessibility programs.
    public override AccessibleStates State
    {  
        get {                    
            return AccessibleStates.ReadOnly;
        }
    }

    // The CurveLegend objects are "child" controls in terms of accessibility so 
    // return the number of ChartLengend objects.
    public override int GetChildCount()
    {  
        return chartControl.Legends.Length;
    }

    // Gets the Accessibility object of the child CurveLegend idetified by index.
    public override AccessibleObject GetChild(int index)
    {  
        if (index >= 0 && index < chartControl.Legends.Length) {
            return chartControl.Legends[index].AccessibilityObject;
        }                
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to navigate between sibiling controls. Specifically, this function is used in
    // the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child, 
                                                AccessibleNavigation navdir) 
    {  
        switch(navdir) {
            case AccessibleNavigation.Down:
            case AccessibleNavigation.Next:
                return GetChild(child.ID + 1);
                
            case AccessibleNavigation.Up:
            case AccessibleNavigation.Previous:
                return GetChild(child.ID - 1);                        
        }
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to select a specific CurveLegend control. Specifically, this function is used
    // in the CurveLegend.CurveLegendAccessibleObject.Select function.
    internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection) 
    {   
        int childID = child.ID;

        // Determine which selection action should occur, based on the
        // AccessibleSelection value.
        if ((selection & AccessibleSelection.TakeSelection) != 0) {
            for(int i = 0; i < chartControl.Legends.Length; i++) {
                if (i == childID) {
                    chartControl.Legends[i].Selected = true;                        
                } else {
                    chartControl.Legends[i].Selected = false;
                }
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            if ((selection & AccessibleSelection.AddSelection) != 0) {
                chartControl.Legends[childID].Selected = true;                        
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
            if ((selection & AccessibleSelection.RemoveSelection) != 0) {
                chartControl.Legends[childID].Selected = false;                        
            }
        }            
    }
}

注解

可访问的导航方向可以是空间 (向上、向下、向左和向右) 或逻辑 (第一个子级、最后一个子级、下一个和上一个) 。 当客户端从一个用户界面元素导航到同一容器中的另一个用户界面元素时,将使用逻辑方向。

AccessibleObject 使用此枚举。

有关详细信息,请参阅 Microsoft Active Accessibility

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另请参阅