• how to enable the Accessibility in the app


    第一部分

    先要装一个accchecker,全称是 UI Accessibility Checker 。下载地址: http://acccheck.codeplex.com/

    装了之后 用这个工具可以 testapp accessiblity ,主要是一些ui问题
    比如accchecker所查出来的控件 有很多缺少 automationproperties.name属性的  要添加上
    至于name取什么名  要看控件的作用而定


    第二部分

      tab 键的 顺序   所有可以点击的控件 都要能tab
    就是 要让app可以不用鼠标  也能完成大部分功能


    第三部分

    narrator  电脑自带的一个工具 他可以读出  UI控件的automationproperties.name  也就是给盲人用的
    所以 那些有作用的 控件 比如最常见的 button 还有 有点击事件的 listviewitem等等  都需要narrator能读出来
    想要的结果就是 narrator读出来的name,你可以知道点这个控件能干什么。  后退键  获取焦点时  narrator 应该读出  back button.
    类似的 automationproperties.name 赋值

    Narrator要获取 focus 才会读的  tab focus order 很关键 有些你希望narrator读出来 但是 这个控件又不是一个能获取焦点的控件  可能就需要自己强制该控件可以获得焦点 你先看看你按tab键哪些 控件会一一获得焦点 从这里入手

    Tap three times with four fingers to review the full set of touch gestures supported by Narrator.
    Drag a single finger arround the screen to hear the names of the items you're touching.
    If you 're using a key board, press Caps Lock+F1 to review the full set of Narrator commands.

    使用下表中的键盘快捷方式指定要让Narrator(讲述人)阅读的文本:
      
    Ctrl+Shift+Enter
    获取当前项目的信息
    Ctrl+Shift+空格键
    阅读整个选定的窗口
    Ctrl+Alt+空格键
    阅读在当前窗口中选择的项目
    Insert+Ctrl+G
    阅读有关出现在当前选定元素旁边的项目的描述
    Ctrl
    使讲述人停止阅读文本
    Insert+Q
    将光标向后移动到具有不同格式的以前任何文本的开端。例如,将光标从粗体字词移动到其前面的非粗体字词的开端。
    Insert+W
    将光标移动到其后具有不同格式的任何文本的开端。例如,将光标从粗体字词移动到其后非粗体字词的开端。
    Insert+E
    将光标向后移动到具有相同格式的任何文本的开端。例如,将光标从粗体字词中间移动到该词的开端。
    Insert+R
    将光标移动到具有相同格式的任何文本的末端。例如,将光标从粗体字词中间移动到该字词的末端。
    Insert+F2
    选择与光标处字符具有相同格式的所有文本
    Insert+F3
    阅读当前字符
    Insert+F4
    阅读当前字词
    Insert+F5
    阅读当前行
    Insert+F6
    阅读当前段落
    Insert+F7
    阅读当前页
    Insert+F8
    阅读当前文档

     

    使用mvvm模式,有些类需要重写ToString(),不然会出现:Duplicate sibling Name+Role

    AutomationProperties.Name只支持在xaml中使用。 如果要在cs代码中设置的话使用setName代替。 更多内容可以看这里 http://msdn.microsoft.com/en-us/ ... tionproperties.name
     
    还有一点很重要:

    After checked the CheckBox of  “Read and interact with the screen using the mouse”  in Narrator Settings/Navigation,  

    Narrator can read RichTextBlock and TextBlock.


    第四部分  highcontrast
    主要是给色盲也可以access我们的app
    这个msdn code gallery里有详细的 code sample
    http://code.msdn.microsoft.com/windowsapps/XAML-high-contrast-style-c0ce936f

    常用 StaticResource:

    ApplicationForegroundThemeBrush 当前主题的文本颜色。

    对于一个按钮,

    1.<VisualStateManager.VisualStateGroups>中

    首先要考虑<VisualStateGroup x:Name="ApplicationViewStates">中的:

    FullScreenLandscape,Filled, FullScreenPortrait, Snapped

    其次要考虑<VisualStateGroup x:Name="CommonStates">中的:

    Normal, PointerOver, Pressed, Disabled

    2.同时<ResourceDictionary.ThemeDictionaries>中要考虑:

    Default, HighContrast(HighContrastBlack,HighContrastWhite,HighContrastCustom);

    这些排列组合的种类真是多啊!

    --------------------------------------------------------------------------------

    下面的网页中详细描述了

    Accessibility for Windows Store apps using C#/VB/C++ and XAML

    http://msdn.microsoft.com/en-us/library/windows/apps/hh452680.aspx

    还有:

    UI Automation Overview http://msdn.microsoft.com/en-us/library/windows/apps/ee684076.aspx

    Testing your app for accessibility (XAML)  http://msdn.microsoft.com/en-us/library/windows/apps/hh994937.aspx

    Exposing basic information about UI elements (XAML)  http://msdn.microsoft.com/en-us/library/windows/apps/hh868160.aspx

  • 相关阅读:
    百度贴吧的数据抓取和分析(二):基础数据分析
    百度贴吧的数据抓取和分析(一):指定条目帖子信息抓取
    二十三种设计模式及其python实现
    经典排序算法及python实现
    从开发到部署,使用django创建一个简单可用的个人博客
    使用uWSGI+nginx部署Django项目
    ubuntu中彻底删除nginx
    阿里的秒杀系统是怎么设计的?
    多图详解!10大高性能开发核心技术
    关于Redis的几件小事 | 高并发和高可用
  • 原文地址:https://www.cnblogs.com/qianblue/p/3384284.html
Copyright © 2020-2023  润新知