第一部分

先要装一个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

how to enable the Accessibility in the app的更多相关文章

  1. Enable Cross-Origin Requests in Asp.Net WebApi 2[Reprint]

    Browser security prevents a web page from making AJAX requests to another domain. This restriction i ...

  2. Charles 抓包手机app

    最近在测为移动端提供的API, 使用mac系统, 发现fiddler在mac下无法使用, 不知道其他朋友是否遇见过, 只能找替代工具. 先去百度上搜索下载Charles 破解版, 选择Charles是 ...

  3. Add Languages to Your Xamarin Apps with Multilingual App Toolkit

    With Xamarin, you can extend your cross-platform apps with support for native speakers, reaching mar ...

  4. Android Studio 2.3版本 Run项目不能自动启动APP的问题 (转)

    参考: http://blog.csdn.net/lucasey/article/details/61071377 Android Studio 升级到2.3版本后 运行项目后,只是安装上了,而APP ...

  5. 新创建的项目AndroidManifast报App is not indexable by Google Search;

    原错误提示:App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VI ...

  6. We're sorry but demo3 doesn't work properly without JavaScript enabled. Please enable it to continue.

    今天遇到一个问题为 vue请求得到的响应为 We're sorry but demo3 doesn't work properly without JavaScript enabled. Please ...

  7. puppeteer(五)chrome启动参数列表API

    List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...

  8. CEF 支持的命令行参数

    参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...

  9. Capabilities & ChromeOptions

    https://sites.google.com/a/chromium.org/chromedriver/capabilities http://stackoverflow.com/questions ...

随机推荐

  1. html:模板

    http://www.mycodes.net/code_previewmap.php?id=3461 http://www.17sucai.com/pins/4120.html  欧美风格的CMS企业 ...

  2. (19/24) webpack实战技巧:推荐使用的第三方类库打包方法

    在日常的开发中,总避免不了引入第三方的框架,比如常用的JQuery,此节我们来学习一下如何优雅并正确的用webpack引入第三方库. 这里我们以第三方框架JQuery为例: 1.在入口文件中引入 1. ...

  3. OpenACC 简单的原子操作

    ▶ OpenACC 的原子操作,用到了 C++ 的一个高精度计时器 ● 代码,直接的原子操作 #include <iostream> #include <cstdlib> #i ...

  4. 《GPU高性能编程CUDA实战》第八章 图形互操作性

    ▶ OpenGL与DirectX,等待填坑. ● basic_interop #include <stdio.h> #include "cuda_runtime.h" ...

  5. openx ————带整理

    the initialisation file  初始化文件 Security check        安全检查 /work/puti-api-1.0/www/adapi/lib/OA/Admin/ ...

  6. Delphi RAD Berlin OutputDebugString 输出调试信息

    Delphi RAD Berlin Event Log.OutputDebugString 输出调试信息,仅在win VCL下可以用.OutputDebugString(PChar('hellowor ...

  7. RAID0+1 RAID5 性能比较

    我想大家都很清楚,存储设备性能的好坏除了与处理器(CPU).缓存等有关之外,还与RAID组中的磁盘数量有很大的关系.按RAID技术的特点,相同磁盘数量下的RAID0性能高于RAID5,RAID1的性能 ...

  8. Spring MVC 自定义视图

    实现View import org.springframework.stereotype.Component; import org.springframework.web.servlet.View; ...

  9. android -chrome 调试

    在chrome上 输入 chrome://inspect/ 连接手机,配置 监听8000,和8080端口 cordova默认是8000端口 如果出现白屏:原因:google在首次加载时,要进行服务器连 ...

  10. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn

    需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...