zoukankan      html  css  js  c++  java
  • 使用Narrator读取RichTextBlock内容

    先测试基本的RichTextBlock,看能否读取。 测试RichTextBlock中哪些子控件是可以被读取的。

    结论:只有Hyperlink能Tab到,能被读取。

    问题:RichTextBlock在获取焦点Focus()后,Narrator也不能读取其内容或AutomationProperties.Name。

    方案A:将RichTextBlock rtb1的选中内容放入一个TextBox tb2,将焦点转移到tb2.  

      方案A问题1:选取是一个动态持续过程,焦点转移会导致选取中断。   

        方案A1a:检测鼠标动作,在其鼠标MouseUp后才转移焦点。(无MouseUp事件,此路不通)   

        方案A1b:光标或选中内容不再变化一段时间后才转移焦点。------------------------------------------ ok  

      方案A问题2:  焦点转移导致RichTextBlock选中效果消失。   

        方案A2a:焦点转移至tb2后,将RichTextBlock rtb1的选中内容Style修改为选中的,在rtb1选中内容改变后恢复。   

        方案A2b:焦点转移至tb2后,再将焦点转移回RichTextBlock. --------------------------------------- ok    

          新问题:选中部分由于焦点的转移,会有闪一下的效果。     

            新问题方案1:如果能只在Natrattor运行时才转移焦点更好。(无法获取Process信息,此路不通)     

            新问题方案2:做个设置开关,只在需要时打开。 --------------------------------------- ok

    其实Narrator是支持读取RichTextBlock内容的:

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

  • 相关阅读:
    bzoj 2818 Gcd(欧拉函数 | 莫比乌斯反演)
    bzoj 2186 [Sdoi2008]沙拉公主的困惑(欧拉函数,逆元)
    bzoj 2393 Cirno的完美算数教室(容斥原理+搜索)
    c3p0 连接池配置
    Hibernate连接池断开自动重连
    Oracle ASM注意事项
    JAVA如何获得数据库的字段及字段类型
    在引入的css或者js文件后面加参数的作用
    JAVA注解
    Linux软连接和硬链接
  • 原文地址:https://www.cnblogs.com/qianblue/p/3469409.html
Copyright © 2011-2022 走看看