CN113424141A - 跨平台远程用户体验可访问性 - Google Patents

跨平台远程用户体验可访问性 Download PDF

Info

Publication number
CN113424141A
CN113424141A CN202080011271.0A CN202080011271A CN113424141A CN 113424141 A CN113424141 A CN 113424141A CN 202080011271 A CN202080011271 A CN 202080011271A CN 113424141 A CN113424141 A CN 113424141A
Authority
CN
China
Prior art keywords
accessibility
metadata
computing device
event metadata
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202080011271.0A
Other languages
English (en)
Other versions
CN113424141B (zh
Inventor
S·N·沙阿
P·布莱兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113424141A publication Critical patent/CN113424141A/zh
Application granted granted Critical
Publication of CN113424141B publication Critical patent/CN113424141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • G09B21/001Teaching or communicating with blind persons
    • G09B21/007Teaching or communicating with blind persons using both tactile and audible presentation of the information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • G09B21/001Teaching or communicating with blind persons
    • G09B21/008Teaching or communicating with blind persons using visual presentation of the information for the partially sighted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在本公开内容的非限制性示例中,提供了用于协助跨平台用户体验可访问性的系统、方法和设备。可以在远程设备和主机设备之间建立实时连接。远程设备可以将多个规则应用于它生成的事件元数据。主机设备可以接收与远程设备上发生的多个用户体验事件相对应的经过滤的事件元数据。一个或多个变换可以应用于主机设备上的经过滤的事件元数据。与多个用户体验事件中的每一个相对应的本机可访问性体验可以由主机设备基于经变换的事件元数据来提供。

Description

跨平台远程用户体验可访问性
背景技术
计算设备已经在生活的大多数方面无处不在。当今,用户在任何给定时间连接到至少一台设备是很常见的,有时甚至是一次连接两台或三台设备。计算设备对日常用户来说如此普遍的原因之一是这些用户可用的选项数量众多。对于任何给定的设备类型(例如,手机、平板电脑、笔记本电脑、台式机),除了可以在这些设备上运行的独特操作系统类型和应用程序套件之外,还有多个设备制造商拥有他们自己的硬件配置集。因此,用户拥有并经常使用在第一平台上运行的智能电话、在第二平台上运行的平板电脑以及在一个或多个附加平台上运行的一个或多个台式机和/或膝上型计算设备不是罕见的。
针对该一般技术环境,已经考虑了本文公开的本技术的各方面。此外,尽管已经讨论了一般环境,但是应当理解,本文描述的示例不应当局限于在背景中所识别的一般环境。
发明内容
提供本发明内容以便以简化的形式对下面在具体实施方式部分中进一步描述的设计构思的选择进行介绍。本发明内容并不旨在确定要求保护的主题的关键特征或重要特征,也不旨在用于协助确定要求保护的主题的范围。示例的附加方面、特征和/或优点将部分地在下面的描述中阐述,并且部分地将从描述中显而易见或者可以通过本公开内容的实施来学习。
本公开内容的非限制性示例描述了用于协助跨平台用户体验访问的系统、方法和设备。与多设备用例相关的一个常见场景是能够从另一个设备“远程访问”一个设备并与本机体验(例如,远程桌面或视觉网络计算)进行交互。虽然这些场景的焦点是允许一种设备形状因子的用户利用另一种设备的体验/资源,但关键差距之一是“访问”模型,该模型允许用户利用平台本机的访问工具。
本公开内容的方面提供了用于通过以下操作允许跨平台和跨设备访问本机可访问性体验的机制:利用远程设备侧的事件元数据监测引擎和事件元数据过滤引擎,同时利用转换引擎将经扩充和/或变换的元数据注入主机设备的本机可访问性引擎。在示例中,用户可以经由设备镜像应用和网络(例如,蓝牙网络、局域网、WiFi网络等)将主机设备与远程设备链接起来。远程设备用户界面因此可以镜像到主机设备上,同时允许用户经由主机设备的本机控件与远程设备进行交互。远程设备上的元数据监测引擎监测远程设备生成的所有或指定的事件元数据集合,元数据过滤引擎应用一组规则来识别与可访问性相关的元数据(例如,上下文元数据)。在示例中,元数据过滤引擎可以标记相关元数据,然后远程设备可以将标记的元数据发送到主机设备以供转换引擎处理。转换引擎可以将元数据扩充和/或变化为可读和可插入的形式以供主机设备的本机可访问性引擎执行。本机访问性引擎可以对该经增强和/或经变换的元数据执行一个或多个可访问性操作,并在主机设备的设备镜像应用内为远程设备产生本机可访问性体验。
附图说明
参考以下附图描述了非限制性和非穷举性示例。
图1是图示用于实现跨平台远程访问体验的示例分布式计算环境的示意图。
图2是图示用于经由跨平台设备镜像应用来实现叙述和用户界面焦点可访问性体验的示例分布式计算环境的示意图。
图3图示了应用于跨平台分布式计算环境的远程设备侧的元数据事件过滤引擎的简化图。
图4图示了用于实现跨平台远程可访问性体验的示例分布式计算环境的简化框图。
图5是用于协助跨平台用户体验可访问性的示例性方法。
图6和图7是可以用来实施本公开内容的方面的移动计算设备的简化图。
图8是示出可以用来实施本公开内容的方面的计算设备的示例物理组件的框图。
图9是可以在其中实施本公开内容的方面的分布式计算系统的简化框图。
具体实施方式
将参考附图详细描述各种实施例,其中,贯穿若干视图,相同的附图标记表示相同的部件和组件。对各个实施例的引用不限制所附权利要求的范围。另外,在本说明书中阐述的任何示例都不意图是限制性的,而仅阐述了所附权利要求的许多可能的实施例中的一些。
本公开内容的示例提供了用于协助跨平台用户体验可访问性的系统、方法和设备。如本文所使用的,“平台”描述由一组计算机硬件和在其上执行软件的操作系统组成的特定环境。例如,如果第一计算设备具有以下之一或以下二者的唯一集合,则可以说第一计算设备在不同于第二平台的第一平台上运行:硬件组件和/或操作系统(包括操作系统版本),并且如果第二计算设备具有以下之一或以下二者的集合,则可以说第二计算设备在不同于第一平台的第二平台上运行:硬件组件和/或操作系统(包括操作系统版本),其不同于第一计算设备。
本文中描述的“主机设备”是用户可以实时或接近实时地控制和/或查看“远程设备”的用户界面的副本的设备。本文中描述的“远程设备”是可以将其用户界面实时或接近实时地复制到主机设备的设备镜像应用上的设备。远程设备可以经由设备镜像应用经由主机设备的本机控件来控制。
本文描述的方面利用远程设备上的监测引擎来监测由远程设备生成的元数据。监测组件可以订阅和/或被准许访问由远程设备生成的所有元数据或元数据的子集。过滤元件可以应用一组规则,这些规则旨在从受监测的元数据集中识别与可访问性相关的元数据。监测引擎和过滤引擎可以被包含为在远程设备上执行的设备镜像应用的一部分和/或它们可以被远程设备的操作系统包含。在一些示例中,过滤引擎可以标记其已经识别为可能与可访问性相关的元数据,并且主机设备可以将该信息发送到它所连接/链接到的主机设备。主机设备上的转换引擎可以将接收到的元数据从其原始形式扩充和/或变换成可由在主机设备上操作的本机可访问性引擎可读和可执行的形式。转换引擎可以包含在主机设备的设备镜像应用中和/或主机设备的操作系统内。可访问性引擎可以是这样的引擎:不仅应用于经扩充和/或经变换的远程设备元数据,而且还应用于已由主机设备本身生成的元数据。通过对自生成的元数据和远程生成的元数据使用相同的可访问性引擎,主机设备可以提供本机可访问性体验,而不管经由主机设备与哪个设备交互。远程设备的可访问性体验可以由设备镜像应用中的可访问性引擎产生。
本文描述的系统、方法和设备提供了用于提供对多个设备上的可访问性体验的访问的技术优势。通过允许用户利用本机可访问性引擎在主机设备上为远程设备生成本机可访问性体验,具有视觉、听觉和阅读障碍的用户可以利用与多设备和多平台体验相关联的处理和存储器节省。通过允许用户访问数据和/或在链接的设备(例如,主机设备或远程设备)上执行操作,基于这些设备中哪个设备具有对其可用于执行这些操作的最佳资源来降低处理成本。例如,应用可以在主机设备平台和远程设备平台上可用,但该应用在这些平台中的一个上执行所具有的问题可能比在另一个平台上执行所具有的问题要少,和/或该应用在一个平台上或另一个平台上可能具有更多对其可用的特征。具有视觉、听觉和/或阅读障碍的用户,利用如本文所述的主机设备的本机可访问性体验,因此能够经由单个显示器(即,主机显示器)访问该应用,而不管该应用是否实际上正在远程设备上执行。通过允许用户跨多个设备和平台分散与执行多个应用(即,主机设备上的应用和远程设备上的应用)相关联的存储要求,同时通过允许用户从主机设备上的单个集成显示器访问所有应用来提供增强的用户体验,存储器成本也可以得到改善。
提供标准化的可访问性体验还提供了增强的用户体验。例如,具有视觉障碍的用户通常可以使用叙述可访问性工具来导航用户界面,包括用户界面元素和文本元素。这些用户通常还使用耳机收听该叙述工具,但有线耳机通常只能用于收听单个设备输出。通过为主机设备上的远程访问设备提供本机可访问性叙述体验,因此可以向用户提供来自两个设备的单一格式的叙述输出和连接。此外,经由利用主机设备的本机可访问性体验,通过向用户提供单个可访问性工具集而增强了用户体验,而不管正在访问的远程平台如何。因此,即使在远程设备和主机设备对于特定类型的元素具有它们自己的可访问性工具的情况下,用户也不必理解用于为多个平台生成视觉可访问性工具的多个渲染和机制。
图1是说明用于实现跨平台远程可访问性体验的示例分布式计算环境100的示意图。计算环境100包括事件元数据过滤子环境101,以及事件元数据转换和本机可访问性体验子环境103。事件元数据过滤子环境101以及事件元数据转换和本机可访问性体验子环境103二者包括相同的两个计算设备。即,元数据过滤子环境101包括远程计算设备102A和主机计算设备114A,它们在事件元数据转换和本机可访问性体验子环境103中与远程计算设备102B和主机计算设备114B是相同的计算设备。事件元数据过滤子环境101中的计算设备说明了来自远程计算设备102A的事件元数据的过滤。可替换地,事件元数据转换和本机可访问性体验子环境103中的设备说明了由主机计算设备114B对经过滤的事件元数据的转换,以及基于经过滤的事件元数据的转换,经由在主机计算设备114B上执行的设备镜像应用来提供本机可访问性体验。
远程计算设备102A显示四个示例性用户体验单元,出于说明目的将其标记为:UX1104、UX2 106、UX3 108和UX4 110。UX1 104和UX2 106可以包括文本的一些部分,而UX3 108和UX4 110可以包括一些其他类型或多种类型的用户体验元素(例如,显示窗口、搜索栏、导航选项卡、导航工具、加载图标等)。出于说明的目的,事件元数据过滤引擎112被示为在远程计算设备102A旁边,但是应当理解,元数据过滤引擎112在远程计算设备102A上并且由远程计算设备102A执行。在一些示例中,事件元数据过滤引擎112可以作为由远程计算设备102A安装和/或访问的本地设备镜像应用的一部分来执行。
主机计算设备114A正在运行设备镜像应用116。设备镜像应用116可用于与在与主机计算设备114A相同或不同的平台上操作的一个或多个其他计算设备(例如,远程计算设备102A)连接,并对由连接的计算设备执行和/或显示的一个或多个特征进行镜像。在一些示例中,当用户专门从主机计算设备114A打开/开启设备镜像应用116时,设备镜像应用116可以被启动和/或连接到已经被准许访问的另一个计算设备。在其他示例中,设备镜像应用116可以基于与由远程计算设备102A接收并且随后由主机计算设备114A接收的通知的交互来启动和/或连接到另一个计算设备。例如,用户可以设置这样一种特征:来自用户的智能电话(例如,远程计算设备102A)的应用通知由用户的一个或多个其他设备(例如,主机计算设备114A)接收。因此,在特定示例中,来自远程计算设备102A的文本消息通知也可以由主机计算设备114A接收,用户可以与主机计算设备114A上的通知交互并且从而自动地使设备镜像应用116启动,其中如果用户与远程计算设备102A上的通知交互,则设备镜像应用用户界面显示相同交互将产生的内容的镜像显示。
主机计算设备114A和远程计算设备102A可以经由各种网络类型为了设备镜像应用目的而彼此连接和通信。在该示例中,主机计算设备114A和远程计算设备102A被示为经由蓝牙连接进行通信。主机计算设备114A和远程计算设备102A可以经由替代方式(例如,如果设备不在蓝牙范围内)相互通信,例如经由互联网、局域连接、WiFi连接等。
在一些示例中,一旦在主机计算设备114A与远程计算设备102A之间建立了连接,可以包含在安装在远程计算设备102A上的设备镜像应用中的事件元数据过滤引擎112可以接收与远程计算设备102A相关联的事件元数据。事件元数据可以包括由远程计算设备102A的操作系统生成和/或与远程计算设备102A的操作系统相关联的元数据,和/或由远程计算设备102A执行的应用生成和/或与远程计算设备102A执行的应用关联的元数据。在示例中,事件元数据可以包括以下一项或多项:结构元数据、描述性元数据、过程元数据、描述性元数据和/或可访问性元数据。例如,在远程计算设备102A上执行的镜像应用可以订阅由远程计算设备102A的操作系统和/或应用生成的所有元数据或元数据集和/或被提供对上述元数据的访问(实时或接近实时的)。
根据示例,事件元数据过滤引擎112可以将一个或多个规则应用于事件元数据以过滤和/或识别从主机设备侧的可访问性角度相关的数据子集。例如,元数据过滤引擎112可以过滤掉从可访问性角度不相关的元数据(例如,电池寿命信息、设备位置信息、来自非焦点窗口/选项卡的信息等),同时标记或以其他方式识别从可访问性角度相关的元数据(例如,焦点文本信息、用户界面焦点位置信息、图像信息等),以转发到主机计算设备114A和设备镜像应用116。一旦被标记和/或识别,远程计算设备102A/102B就可以将被标记和/或识别的相关元数据发送到主机计算设备114A/114B。
在该示例中,用户已利用主机计算设备114B上的光标与设备镜像应用117上的远程计算设备102B的镜像用户界面交互。具体地,用户导航到元素UX1 124的文本,这可以使远程计算设备102B生成描述用户焦点位置的元数据(即,元素UX1 124的文本)以及描述该位置处的文本的元数据。从可访问性角度相关的信息可以被事件元数据过滤引擎112识别/标记并经由线通信(例如,蓝牙、WiFi)发送到主机计算设备114B和设备镜像应用117。
从远程计算设备102B发送到主机计算设备114B的可访问性相关元数据可以由转换引擎128接收,转换引擎128可以与设备镜像应用124相关联。转换引擎128可以识别它从远程计算设备102B接收的原始元数据并且确定变换集以应用于该元数据,使得可访问性引擎130可以对该数据执行一个或多个相关的可访问性操作以呈现与设备镜像应用117上的元数据相对应的本机可访问性体验。在一些示例中,可访问性引擎130可以全部或部分地并入设备镜像应用117中。在其他示例中,可访问性引擎130可以与主机计算设备114B的操作系统和/或在主机计算设备114B上执行的可访问性应用相结合和/或关联。
可访问性引擎130可以对本地托管的数据和从远程计算设备102B接收的数据执行操作,这允许它向可能有残疾和/或障碍(例如视力障碍、听力障碍、阅读障碍等)的用户提供可访问性特征。当可访问性引擎130对本地托管的数据执行操作时,它自动生成与其执行这些操作的本地数据相对应的本机可访问性体验。例如,如果用户使用本地安装在主机计算设备114B上的网络浏览器,并且用光标滚动该网络浏览器用户界面中的网页和/或用户以其他方式与之交互,则可访问性引擎130可以对交互文本和/或与交互文本相关联的元数据执行一个或多个操作,例如:将文本发送到文本到语音引擎并经由计算设备114B可听地叙述文本;如果文本低于阈值大小,则放大文本;和/或指示用户界面上的焦点区域(例如,突出显示交互文本,在交互文本周围放置一个框)。
因为远程计算设备102B可以不在与主机计算设备114B相同的平台上操作,因此在来自远程计算设备102B的数据输入和可以通过可访问性引擎130对那些数据输入执行的可访问性操作之间可能不存在一对一映射。因此,转换引擎128可以对从远程计算设备102B接收的与可访问性相关的数据进行扩充/变换,并且以可访问性引擎130可以对其执行本机可访问性操作的形式将该数据提供给可访问性引擎130。例如,当用户经由设备镜像应用124与元素UX1 124交互时,与该交互相关联的文本信息和位置/焦点信息可以经由事件元数据过滤引擎112从远程计算设备102B发送到转换引擎128,并且转换引擎128可以对该数据执行一个或多个变换,使其可以被可访问性引擎130读取和操作。可访问性引擎130然后可以对经变换的数据执行本机可访问性操作并从该数据产生本机可访问性体验,包括在元素UX1 124处叙述交互文本(如叙述元素126所示)和/或突出显示或以其他方式指示用户焦点位置(即,与元素UX1 124处的文本交互)。
图2是示出用于经由跨平台设备镜像应用来实现叙述和用户界面焦点可访问性体验的示例分布式计算环境200的示意图。计算环境200包括远程设备子环境201、网络和处理子环境210以及主机设备子环境218。
远程设备子环境201包括远程计算设备202A和远程计算设备202B,它们是相同的计算设备,远程计算设备202A示出了文本消息通知206正在由远程计算设备202A接收,远程计算设备202B示出了当用户与文本消息通知206交互时,相应的文本消息应用正在被展开和显示。
主机设备子环境216包括主机计算设备218,其正在执行设备镜像应用224。在示例中,主机计算设备218可以接收与由远程计算设备202A/202B接收的通知相对应的推送通知。因此,当在远程计算设备202A上接收到文本消息通知206时,主机计算设备218可以接收相应的通知。在示例中,如果用户与主机计算设备218上的文本消息通知交互,则当文本消息应用由此被扩展并显示在计算设备202B上时,设备镜像应用224可以在主机计算设备218上启动。因此,设备镜像应用224还显示当前在远程计算设备202B上的扩展的文本消息应用。在该示例中,远程计算设备202A/202B和主机计算设备218被示为经由网络212彼此通信,目的是在主机计算设备218上镜像远程计算设备202A/202B。例如,如果远程设备202A/202B和主机设备218不在彼此的蓝牙通信范围内,则这些设备可以是诸如网络212之类的网络,用于出于镜像目的进行通信。
在示例中,在远程计算设备202A/202B上执行的事件元数据过滤引擎可以应用一组规则来识别可访问性相关元数据以供标记并发送给主机设备218。在一些示例中,元数据过滤引擎可以集成在已安装在远程计算设备202A/202B上的设备镜像应用中。在其他示例中,元数据过滤引擎可以集成在远程计算设备202A/202B的操作系统中。在该示例中,用户已经利用主机计算设备218上的光标来与设备镜像应用224上显示的文本消息226交互(例如,滚动、选择等)。远程计算设备202B可以经由在该端安装的设备镜像应用接收相应的交互(例如,在文本消息226上中继触摸交互)。与该交互相关联的事件元数据可以由在远程计算设备202B上执行的元数据过滤引擎来标记。
远程计算设备202B然后可以将与和文本消息226的交互相关联的所标记的元数据从远程计算设备202B发送给主机计算设备218。与设备镜像应用224相关联的转换引擎可以接收所标记的元数据(例如,与文本消息226的消息内容相对应的文本元数据;消息传送应用上在文本消息226处的用户/光标位置等)。转换引擎可以读取所接收的元数据并对该元数据执行一个或多个操作以将元数据扩充和/或变换为由在主机计算设备218上操作的可访问性引擎可读的形式。可访问性引擎可以扩充和/或变换的元数据,并经由设备镜像应用224在主机计算设备218上产生本机可访问性体验,就好像文本消息传送应用完全在主机计算设备218上执行一样。在该示例中,本机可访问性体验由“大声读消息”叙述单元220(即,主机计算设备218可听地朗读文本消息226的交互消息内容)以及通过突出显示或以其他方式加粗已与之交互的文本消息应用的元素(即,设备镜像应用224上围绕文本消息226的加粗矩形)来说明。
尽管事件元数据过滤引擎被描述为在远程计算设备202A/202B上执行,并且转换引擎被描述为在主机计算设备218上执行,但应该理解,这些引擎中的一个或两个可以在云中执行。例如,事件元数据过滤引擎和/或转换引擎中的一者或这二者可由在一个或多个服务器计算设备(例如网络和处理子环境210中的服务器计算设备214)上操作的可访问性镜像服务来执行。
图3示出了应用于跨平台分布式计算环境的远程设备侧的元数据事件过滤引擎的简化示意图300。示意图300包括远程设备子环境301、事件元数据子环境312、事件元数据过滤引擎322、标记元数据子环境324和主机设备传输单元326。
根据示例,与远程计算设备302相关联的用户可能已经在远程计算设备302和一个或多个其他计算设备(例如,主机设备)上安装了设备镜像应用。在其上安装了设备镜像应用的远程计算设备302和一个或多个其他计算设备可以在相同或不同的计算平台上运行。设备镜像应用可以允许主机设备产生当前在远程计算设备302上显示的内容的镜像显示,同时允许用户与该显示进行虚拟交互并且使得经由主机设备上的显示发起的操作由远程计算设备302执行。因此,如果用户与设备镜像应用中显示的可选择的应用元素(即主机设备上的镜像用户界面中显示的远程设备应用)交互,将促使应用元素在远程计算设备302上发起其相应动作,同时使得由此导致的任何用户界面修改被显示在远程计算设备302和主机设备上的远程计算设备302的镜像实例二者上。
作为安装在远程计算设备302上的设备镜像应用的一部分,事件元数据过滤引擎322可以接收与远程计算设备302上的事件相关联的元数据。事件元数据过滤引擎322可以接收由远程计算设备302生成的所有元数据或元数据的子集。在一些示例中,由事件元数据过滤引擎322接收的元数据可以由用户具体指定(例如,所有上下文元数据、一组上下文元数据、某种类型的上下文元数据)。在此示例中,远程计算设备正在执行待办事项列表应用。如远程计算设备302上的待办事项列表应用用户界面所示,即将到来的事件用户界面元素306(“呼叫酒店”)在用户界面上完全可见;第一逾期事件用户界面元素308(“呼叫狗照看者”)在用户界面上完全可见,而第二逾期事件用户界面元素310(“制作dr.appt”)在用户界面上部分可见。另外,电池寿命用户界面元素304也显示在远程计算设备302上。
在该示例中,事件元数据过滤引擎322接收与远程计算设备302上的每个用户界面元素相关联的元数据。这在事件元数据子环境312中通过下列各项来说明:电池百分比变化事件元数据314,其对应于电池寿命用户界面元素304移动电池寿命百分比(例如,满电的15%到满电的14%);当前活动的待办事件元数据316A,对应于即将到来的事件用户界面元素306(“呼叫酒店”);焦点待办事件元数据318,对应于第一逾期事件用户界面元素308(“呼叫狗照看者”);以及非焦点待办事件元数据320,对应于第二逾期事件用户界面元素310(“制作dr.appt”)。用户界面元素306、308和310中的每一个的元数据可以提供与例如下列各项相关的信息:那些元素中包括的文本、那些元素在用户界面上的位置(或在第二逾期事件用户界面元素310的情况下部分离开用户界面),和/或用户当前是否正在与那些用户界面元素进行交互。
事件元数据过滤引擎322可以将一组规则应用于事件元数据子环境312中的元数据,以从可访问性角度确定该元数据的一个或多个片段是否相关。例如,第一规则可以规定:指示远程计算设备302的电池寿命已经改变的元数据被事件元数据过滤引擎322自动过滤掉和丢弃;第二规则可以规定:描述远程计算设备302的用户界面上用户当前与用户界面元素交互的位置的元数据被事件元数据过滤引擎322自动标记为相关;第三规则可以规定:描述当前处于焦点(例如,在用户界面上完全可见)但不活动(例如,当前未与用户交互)的其他活动用户界面元素的位置的元数据被事件元数据过滤引擎322自动标记为相关(例如,如果用户决定选择该元素,则提高了可访问性引擎可以访问该信息的速度);以及第四规则可以规定:描述非焦点待办事项用户界面元素的位置的元数据被事件元数据过滤引擎322过滤掉和丢弃。
因此,在该示例中,事件元数据过滤引擎322:基于第一规则的应用过滤掉电池百分比变化事件元数据314;过滤非焦点待办事件元数据320;将当前活动的待办事件元数据316A标记为相关;以及将焦点待办事件元数据318标记为相关。事件元数据过滤引擎322然后将所标记的相关元数据发送给主机设备,如所标记的元数据子环境324中的当前活动的待办事件元数据316B和焦点待办事件元数据318B所指示的。主机设备上的转换引擎然后可以对所标记的元数据进行扩充和/或执行一个或多个变换,使得主机设备上的可访问性引擎可以读取和执行可访问性操作以从主机设备上的元数据生成本机可访问性体验。
图4示出了用于实现跨平台远程可访问性体验的示例分布式计算环境400的简化框图。计算环境400包括远程设备子环境402、主机设备子环境404、本机可访问性服务子环境406、主机平台可访问性/UI上下文事件源子环境408、可访问性集成子环境410的本机覆盖、规则引擎/过滤子环境412以及转换引擎子环境414。
主机设备子环境404包括主机设备,用户希望在其中与用户的远程设备的镜像版本交互。例如,用户可能有两个或更多个可用设备(例如,PC、膝上型电脑、平板电脑、智能手机),并且希望当用户使用其他设备之一(例如,PC或膝上型电脑)时,与一个或多个设备(例如,智能手机和/或平板电脑)进行交互。在这种情况下,主机设备将是PC或膝上型电脑,用户可以在其上使用设备镜像应用来镜像远程设备(即,使远程设备的用户界面以基本类似的方式显示在主机设备上;经由与主机设备上的镜像用户界面交互提供对远程设备及其资源的访问)。可能存在验证步骤,用户必须通过该步骤验证她是将经由设备镜像应用连接的设备的所有者。
或者,远程设备子环境402包括用户希望在主机上镜像的远程设备。远程设备上也可能安装了设备镜像应用。然而,设备镜像应用在远程设备上的作用有所不同,因为它提供了用于以下操作的机制:监测远程设备上生成的事件元数据,识别与可访问性相对应的相关事件元数据,从主机设备接收命令,以及将相关事件元数据发送回主机设备。
主机平台可访问性/UI上下文事件源子环境408包括远程设备上的监测引擎。监测引擎订阅由主机设备生成的元数据的至少一部分。例如,用户可以只向监测引擎授予监测权限以监测上下文元数据。监视引擎通常可以访问包括用户界面事件元数据的元数据(例如,远程设备的用户界面上当前处于焦点和/或活动的内容)。
规则引擎/过滤子环境412包括由远程设备执行的事件元数据过滤引擎。过滤引擎应用多个规则来识别经由监测引擎接收到的、从可访问性角度来看是相关的元数据。过滤器基本上清除了可能包括在该元数据中的不相关事件/背景噪声,例如非焦点选项卡和窗口、后台应用事件、电池使用数据、GPS位置等。可以基于监测从设备镜像应用的用户接收到的遥测数据来更新这些规则。在示例中,过滤引擎可以标记它从可访问性角度确定为相关的事件元数据,并将所标记的元数据发送给主机设备以进行处理。
转换引擎414包括主机设备上的转换引擎,用于对从远程设备接收的所标记的元数据进行处理。转换引擎获取从远程设备接收到的原始元数据,并将其转变为主机设备/系统可以读取和理解的格式。
可访问性集成环境的本机覆盖410也在主机设备上操作,并且在一些情况下可以与转换引擎集成。可访问性子环境的本机覆盖对来自转换引擎的数据进行扩充和/或转换,以允许主机设备的本机可访问性引擎从远程设备读取元数据,并经由设备镜像应用,从经扩充/转换的数据在主机设备上生成本机可访问性体验。在一些示例中,数据的扩充和/或转换可以包括使从转换引擎接收的元数据可由可访问性引擎的叙述者组件读取。在附加示例中,数据的扩充和/或转换可以包括使从转换引擎接收的元数据可由可访问性引擎的视觉焦点组件读取。
本机可访问性服务子环境406包括在主机设备上操作的可访问性引擎。可访问性引擎可以负责接收由主机设备本身生成的元数据并由此生成叙述和视觉可访问性体验。可访问性引擎还可以负责从远程设备接收元数据,该元数据已经被扩充/转换以注入到可访问性引擎中,并从设备镜像应用中的该数据产生本机可访问性体验。
图5是用于协助跨平台用户体验可访问性的示例性方法500。方法500在开始操作处开始,并且流程继续到操作502,在该操作处建立主机设备与远程设备之间的连接。该连接可以是蓝牙连接、局域网连接、WiFi连接或网络服务连接。在一些示例中,用户可以在主机设备上安装设备镜像应用以在主机设备上镜像一个或多个远程设备。用户还可以在一个或多个远程设备上安装设备镜像应用,以便将远程设备镜像到主机设备上。在一些示例中,用户可能必须在建立连接之前验证她的设备和/或她作为设备所有者的身份。
从操作502,流程继续进行到操作504,在该操作中,监测由远程设备生成的事件元数据。元数据可以由在远程设备上执行的监测引擎来监测。在一些示例中,与远程设备相关联的用户可以向监测引擎授予“监听”特权,使得事件元数据的全部或子集可以由监测引擎监测。
流程从操作504继续到操作506,在该操作处,对事件元数据进行过滤,使得可以识别和/或标记可访问性相关信息。过滤可以包括过滤引擎,该过滤引擎应用一个或多个规则来识别可访问性相关信息。可访问性相关信息可以涉及用户界面的焦点和/或活动元素、文本元数据和/或图像元数据。在一些示例中,过滤引擎可以丢弃与可访问性无关的事件元数据(例如,设备位置数据、电池使用数据等),并且过滤引擎可以标记它基于一项或多项规则的应用确定与可访问性相关和/或有关的事件元数据。
流程从操作506继续到操作508,在该操作处经过滤的事件元数据(即,已被识别和/或标记的可访问性相关信息)被发送给第二设备以用于可访问性转换(即,用于由通过主机设备上的可访问性引擎读取和执行操作的扩充和/或变换)。
流程从操作508继续到操作510,在该操作处,主机设备接收经过滤的事件元数据。
流程从操作510继续到操作512,在该操作处,经过滤的事件元数据被转换成可由在第二设备上操作的可访问性引擎可读的形式。由于远程设备与主机设备属于不同的平台,因此元数据可能以主机设备在其原始形式时无法读取和/或无法对其执行与可访问性相关的操作的形式从远程设备发送给主机设备。因此,转换引擎可以将元数据扩充和/或变换为主机设备上的可访问性引擎可读取和可执行的形式。
流程从操作512继续到操作514,在该操作处,主机设备提供与经转换的事件元数据相对应的本机可访问性体验。主机设备上的可访问性引擎获取经转换的元数据并对该数据执行一个或多个可访问性相关操作,以在设备镜像应用中产生本机体验。在一些示例中,本机可访问性体验可以包括远程设备的活动和/或焦点用户界面元素的叙述。在其他示例中,本机可访问性体验可以经由设备镜像应用突出显示或以其他方式在视觉上指示远程设备上的活动和/或焦点用户界面元素。
流程从操作514移动到结束操作并且方法500结束。
图6和图7示出了可用来实施本公开内容的实施例的移动计算设备600,例如,移动电话、智能电话、可穿戴计算机(例如智能眼镜)、平板计算机、电子阅读器、膝上型计算机或其他与AR兼容的计算设备。参考图6,示出了用于实现这些方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是具有输入单元和输出单元二者的手持计算机。移动计算设备600通常包括显示器605和允许用户向移动计算设备600输入信息的一个或多个输入按钮610。移动计算设备600的显示器605也可用作输入设备(例如,触摸屏显示器)。如果包括,那么可选的侧输入单元615允许进一步的用户输入。侧输入单元615可以是旋转开关、按钮、或任何其他类型的手动输入单元。在替换方面中,移动计算设备600可以并入更多或更少的输入单元。例如,在一些实施例中,显示器605可以不是触摸屏。在又一个替换实施例中,移动计算设备600是便携式电话系统(如蜂窝电话)。移动计算设备600还可以包括可选按键635。可选按键635可以是物理按键或在触摸屏显示器上生成的“软”按键。在各个实施例中,输出单元包括:用于展示图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)、和/或音频换能器625(例如,扬声器)。在一些方面中,移动计算设备600并入用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备600并入输入和/或输出端口,如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)、以及用于向外部设备发送信号或从外部设备接收信号的视频输出(例如,HDMI端口)。
图7是示出移动计算设备的一个方面的架构的框图。也就是说,移动计算设备700可并入系统(即,架构)702来实现一些方面。在一个实施例中,系统702被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面中,系统702被集成为计算设备,如集成个人数字助理(PDA)和无线电话。
一个或多个应用程序766可以被载入存储器762中,并在操作系统864上运行或与操作系统664关联地运行。应用程序的示例包括:电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统702还包括存储器762内的非易失性存储区域768。非易失性存储区域768可用于存储如果系统702掉电不应该丢失的持久信息。应用程序766可使用和存储非易失性存储区域768中的信息,如由电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也位于系统702上,并且被编程用于与驻留在主机计算机上的相应同步应用进行交互,以保持存储在非易失性存储区域768中的信息与存储在主机计算机处的相应信息同步。应该明白:其他应用可载入存储器762中并在移动计算设备700上运行,移动计算设备700包括用于提供和操作用户体验变换计算平台的指令。
系统702具有电源770,其可实现为一个或多个电池。电源770可能还包括外部电源,如AC适配器或对电池进行补充或再充电的供电的底座。
系统702还可以包括执行发送和接收射频通信的功能的无线电接口层772。无线电接口层772经由通信载波或服务提供商来促进系统702与“外部世界”之间的无线连接。去往和来自无线电接口层772的传输在操作系统764的控制下进行。换句话说,由无线电接口层772接收的通信可经由操作系统764传播到应用程序766,反之亦反。
视觉指示器620可用于提供视觉通知,和/或音频接口774可用于经由音频换能器625产生听觉通知。在示出的实施例中,视觉指示器620是发光二极管(LED),而音频换能器625是扬声器。这些设备可直接耦接到电源770,以便当被激活时,它们在由通知机制指示的一段时间期间保持工作状态,即使处理器760和其他组件可能关闭以节省电池功率。可将LED编程为一直处于工作状态直到用户采取行动来指示设备的上电状态。音频接口774用于向用户提供可听见的信号以及从用户接收可听见的信号。例如,除了耦接到音频换能器625之外,音频接口774还可以耦接到麦克风来接收可听见的输入,以促进电话会话。根据本公开内容的一些实施例,如同下文将描述的,麦克风还可以用作音频传感器来促进对通知的控制。系统702还可以包括视频接口776,其启动板上摄像头630的操作以记录静止图像、视频流等。
实现系统702的移动计算设备700可具有额外的特征或功能。例如,移动计算设备700还可以包括额外的数据存储设备(可移除和/或不可移除的),如磁盘、光盘,或磁带。这些额外的存储单元在图7中由非易失性存储区域768示出。
由移动计算设备700生成或捕捉并经由系统702存储的数据/信息可以如上所述本地存储在移动计算设备700上,或者数据可存储在可由设备经由无线电接口层772或经由移动计算设备700与和移动计算设备700相关联的单独的计算设备(例如,分布式计算网络(如互联网)中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应该明白的是:可经由无线电接口层772或经由分布式计算网络,经由移动计算设备700来访问这样的数据/信息。类似地,这样的数据/信息可根据公知的数据/信息传输和存储手段(包括电子邮件和协作式数据/信息共享系统)容易地在计算设备之间传输来存储和使用。
图8是示出可以用来实施本公开内容的方面的计算设备800的物理组件(例如,硬件)的框图。下文描述的计算设备组件可以具有用于提供一致的跨平台用户体验和跨设备的本机可访问性体验的计算机可执行指令。在基本配置中,计算设备800可以包括至少一个处理单元802和系统存储器804。根据计算设备的配置和类型,系统存储器804可以包括但不限于此:易失性存储单元(例如,随机存取存储器)、非易失性存储单元(例如,只读存储器)、闪存器或这样的存储器的任何组合。系统存储器804可以包括适合于运行一个或多个跨平台可访问性应用的操作系统805。例如,操作系统805可以适于控制计算设备800的操作。另外,本公开内容的实施例可以结合图形库、其他操作系统或任何其他应用程序来实施,并且不局限于任何特定的应用或系统。这种基本配置在图8中由虚线808之内的那些组件示出。计算设备800可以具有额外的特征或功能。例如,计算设备800还可以包括额外的数据存储设备(可移除和/或不可移除的),例如,如磁盘、光盘或磁带。这样的额外的存储单元在图8中由可移除存储设备809和不可移除存储设备810示出。
如上所述,多个程序模块和数据文件可以存储在系统存储器804中。当在处理单元802上执行时,程序模块806(例如,跨平台可访问性应用820)可以执行包括但不限于如本文所述方面的过程。根据示例,事件监测引擎811可以监测由远程计算设备生成的事件元数据。元数据过滤引擎813可以应用一组规则来识别来自远程设备的可访问性相关元数据。转换引擎815可以执行与将来自远程设备的原始元数据扩充和/或变换成可由主机设备的可访问性引擎读取和执行的形式相关联的一个或多个操作。叙述引擎817可以执行与产生描述主机设备和/或远程设备上的一个或多个用户界面元素的可听见的输出相关联的一个或多个操作。
另外,本公开内容的实施例可以在包括下列各项的电路中实施:分立电子元件、包含逻辑门的封装或集成的电子芯片、使用微处理器的电路,或者在包含电子元件或微处理器的单个芯片上。例如,本公开内容的实施例可以经由片上系统(SoC)实施,在片上系统中,图8所示的组件中的每个或许多组件可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些可以集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC操作时,本文中针对客户端切换协议的能力描述的功能可以经由与单个集成电路(芯片)上的计算设备800的其他组件集成在一起的应用专用逻辑单元来进行操作。还可以使用能够执行逻辑运算(诸如,例如,AND、OR和NOT)的其他技术来实施本公开内容的实施例,这些技术包括但不限于:机械、光学、流体和量子技术。此外,可以在通用计算机或在任何其他电路或系统中实施本公开内容的实施例。
计算设备800还可以具有一个或多个输入设备812,如键盘、鼠标、笔、声音或语音输入设备、触摸或轻扫输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备814。前述设备是示例,并且可以使用其他设备。计算设备800可以包括允许与其他计算设备850的通信的一个或多个通信连接816。合适的通信连接816的示例包括但不限于:射频(RF)发射机、接收机、和/或收发机电路、通用串行总线(USB)、并行和/或串行端口。
本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括用于存储诸如计算机可读指令、数据结构或程序模块的信息、以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器804、可移除存储设备809以及不可移除存储设备810都是计算机存储介质示例(例如,存储器存储单元)。计算机存储介质可以包括:RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储单元、磁带盒、磁带、磁盘存储单元或其他磁存储设备、或者可用于存储信息且可由计算设备800访问的任何其他制品。任何这样的计算机存储介质可以是计算设备800的一部分。计算机存储介质不包括载波波形或其他传播或调制的数据信号。
通信介质可以体现为计算机可读指令、数据结构、程序模块或调制数据信号(如载波波形)或其他传输机制中的其他数据并且包括任何信息传递介质。术语“调制数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。通过举例而非限制的方式,通信介质可以包括诸如有线网络或直接线连接的有线介质,以及诸如声音、射频(RF)、红外线和其他无线介质的无线介质。
图9示出了用于对在计算系统处从远程源(例如如上所述个人/通用计算机904、平板计算设备906或移动计算设备908)接收的数据进行处理的系统的架构的一个方面。在服务器设备902处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,可使用目录服务922、门户网站924、邮箱服务926、即时消息传送存储单元928或社交网站930来存储各种文档。程序模块806可以由与服务器设备902通信的客户端使用,和/或程序模块806可以由服务器设备902使用。服务器设备902可以通过网络915提供去往和来自诸如个人/通用计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)之类的客户端计算设备的数据。通过举例的方式,上文针对图6-图8描述的计算机系统可以在个人/通用计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)中体现。除了接收可用于在图形发起系统处进行预处理或在接收计算系统处进行后处理的图形数据之外,计算设备的这些实施例中的任何一个实施例都可以从存储单元916获得内容。
例如,在上文中参考根据本公开内容的方面的方法、系统和计算机程序产品的框图和/或操作说明描述了本公开内容的方面。这些框中指出的功能/动作可以不按任何流程图中示出的顺序发生。例如,显示为相继的两个框实际上可基本并行执行,或者这些框有时可以以相反的次序执行,这取决于所涉及的功能/动作。
本申请中提供的一个或多个方面的描述和图示不旨在以任何方式来局限或限制要求保护的公开内容的范围。认为本申请中提供的方面、示例和细节足以传递所有权,并使他人能够制造和使用要求保护的公开内容的最佳模式。要求保护的公开内容不应被解释为局限于本申请中所提供的任何方面、示例或细节。不管是否以组合的方式或单独示出及描述,旨在选择性地包括或省略各个特征(结构性和方法性的)以产生具有特征的特定集合的实施例。已经提供了本公开内容的描述和说明,本领域技术人员可设想不脱离所要求保护的公开内容的更广泛范围的、落入本申请中体现的总的发明构思的更广泛的方面的精神内的变体、修改和替代方面。
上述各个实施例仅以说明的方式提供,并且不应被解释为限制所附权利要求。本领域技术人员将容易认识到,在不遵循本文示出和描述的示例实施例和应用的情况下,并且在不脱离所附权利要求的真实精神和范围的情况下,可以进行各种修改和改变。

Claims (15)

1.一种用于协助跨平台用户体验可访问性的方法,所述方法包括:
由第一设备建立与第二设备的连接;
监测由所述第一设备生成的事件元数据;
针对可访问性相关信息对所述事件元数据进行过滤;以及
将经过滤的事件元数据发送给所述第二设备以进行可访问性转换。
2.根据权利要求1所述的方法,其中,所述第一设备在第一平台上操作,并且所述第二设备在第二平台上操作。
3.根据权利要求2所述的方法,还包括:
由所述第二设备接收所述经过滤的事件元数据;
由所述第二设备将所述经过滤的事件元数据转换成由在所述第二设备上操作的可访问性引擎可读的形式;以及
由所述第二设备提供与经转换的事件元数据相对应的本机可访问性体验。
4.根据权利要求3所述的方法,其中,所述可访问性相关信息包括来自所述第一设备的用户界面的文本元数据。
5.根据权利要求4所述的方法,其中,提供与所述经转换的事件元数据相对应的所述本机可访问性体验包括产生下列各项中的一项:与所述文本元数据相对应的音频输出;与所述文本元数据相对应的盲文输出;以及与所述文本元数据相对应的触觉输出。
6.根据权利要求3所述的方法,其中,所述可访问性相关信息包括来自所述第一设备的用户界面的活动屏幕位置元数据。
7.根据权利要求6所述的方法,其中,提供与所述经转换的事件元数据相对应的所述本机可访问性体验包括:在视觉上突出所述用户界面中与所述活动位置元数据相对应的活动屏幕位置。
8.根据权利要求3所述的方法,其中,所述可访问性相关信息包括用户界面元素标识元数据。
9.根据权利要求8所述的方法,其中,提供与所述经转换的事件元数据相对应的所述本机可访问性体验包括:产生与所述用户界面元素标识元数据相对应的音频输出。
10.根据权利要求1所述的方法,其中,所述第一设备和所述第二设备之间的所述连接是经由用于将所述第一设备镜像到所述第二设备上的设备镜像应用建立的。
11.根据权利要求1所述的方法,其中,所述事件元数据由在所述第一设备上执行的设备镜像应用来监测。
12.一种用于协助跨平台用户体验可访问性的系统,包括:
存储器,其用于存储可执行程序代码;以及
一个或多个处理器,其在功能上耦合到所述存储器,所述一个或多个处理器对所述程序代码中包含的计算机可执行指令做出响应并且操作用于:
在远程设备和主机设备之间建立实时连接;
接收与所述远程设备上发生的多个用户体验事件相对应的经过滤的事件元数据;
对所述经过滤的事件元数据应用一个或多个变换,以便将所述事件元数据变换为由在所述主机设备上操作的可访问性引擎可读的形式;以及
由所述主机设备基于经变换的事件元数据提供与所述多个用户体验事件中的每一个相对应的本机可访问性体验。
13.根据权利要求12所述的系统,其中,所述远程设备在第一平台上操作,并且所述主机设备在第二平台上操作。
14.根据权利要求13所述的系统,其中,所述经过滤的事件元数据包括来自所述远程设备的用户界面的文本元数据。
15.一种计算机可读存储设备,其包括可执行指令,所述可执行指令在由一个或多个处理器执行时协助用户体验可访问性,所述计算机可读存储设备包括由所述一个或多个处理器可执行的用于以下操作的指令:
由第一设备建立与第二设备的连接;
监测由所述第一设备生成的事件元数据;
针对可访问性相关信息对所述事件元数据进行过滤;以及
将经过滤的事件元数据发送给所述第二设备以进行可访问性转换。
CN202080011271.0A 2019-01-29 2020-01-22 跨平台远程用户体验可访问性 Active CN113424141B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/260,529 US10789108B2 (en) 2019-01-29 2019-01-29 Cross-platform remote user experience accessibility
US16/260,529 2019-01-29
PCT/US2020/014673 WO2020159777A1 (en) 2019-01-29 2020-01-22 Cross-platform remote user experience accessibility

Publications (2)

Publication Number Publication Date
CN113424141A true CN113424141A (zh) 2021-09-21
CN113424141B CN113424141B (zh) 2024-10-22

Family

ID=69740539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080011271.0A Active CN113424141B (zh) 2019-01-29 2020-01-22 跨平台远程用户体验可访问性

Country Status (4)

Country Link
US (2) US10789108B2 (zh)
EP (1) EP3891590A1 (zh)
CN (1) CN113424141B (zh)
WO (1) WO2020159777A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11650735B1 (en) * 2022-09-26 2023-05-16 Browserstack Limited Accessibility feature in remote device infrastructure
US12131090B1 (en) * 2023-08-31 2024-10-29 Intel Corporation Methods and apparatus to facilitate user interaction across multiple computing systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138370A1 (en) * 2008-11-21 2010-06-03 Kindsight, Inc. Method and apparatus for machine-learning based profiling
US20140013234A1 (en) * 2012-04-25 2014-01-09 Vmware, Inc. User interface virtualization of context menus
US20160320935A1 (en) * 2013-12-16 2016-11-03 Samsung Electronics Co., Ltd. User interface (ui) providing apparatus and ui providing method thereof
US20160321218A1 (en) * 2015-04-27 2016-11-03 Neatly Co. System and method for transforming image information for a target system interface

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2730219T3 (es) * 2007-02-26 2019-11-08 Microsoft Israel Res And Development 2002 Ltd Sistema y procedimiento para una protección automática de datos en una red informática
US10372285B2 (en) * 2015-04-14 2019-08-06 Ebay Inc. Standardizing user interface elements
JP6679937B2 (ja) * 2016-01-08 2020-04-15 コニカミノルタ株式会社 画像形成装置およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138370A1 (en) * 2008-11-21 2010-06-03 Kindsight, Inc. Method and apparatus for machine-learning based profiling
US20140013234A1 (en) * 2012-04-25 2014-01-09 Vmware, Inc. User interface virtualization of context menus
US20160320935A1 (en) * 2013-12-16 2016-11-03 Samsung Electronics Co., Ltd. User interface (ui) providing apparatus and ui providing method thereof
US20160321218A1 (en) * 2015-04-27 2016-11-03 Neatly Co. System and method for transforming image information for a target system interface

Also Published As

Publication number Publication date
EP3891590A1 (en) 2021-10-13
CN113424141B (zh) 2024-10-22
US20200394083A1 (en) 2020-12-17
WO2020159777A1 (en) 2020-08-06
US20200241934A1 (en) 2020-07-30
US11204814B2 (en) 2021-12-21
US10789108B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
US10666594B2 (en) Proactive intelligent personal assistant
US9996532B2 (en) Systems and methods for building state specific multi-turn contextual language understanding systems
KR102231733B1 (ko) 환경 인식 다이얼로그 정책 및 응답 생성
US10929003B1 (en) Cross-platform drag and drop user experience
US20130305163A1 (en) Screen and Associated File Sharing
US10757048B2 (en) Intelligent personal assistant as a contact
US11144372B2 (en) Cross-platform stateless clipboard experiences
WO2018039009A1 (en) Systems and methods for artifical intelligence voice evolution
US11204814B2 (en) Cross-platform remote user experience accessibility
EP2893437A1 (en) Sharing application code across platforms
CN109891445B (zh) 经由跨iframe信令重新归位嵌入式网络内容
EP3563311A1 (en) Systems and methods for contextual memory capture and recall
KR20160122155A (ko) 외부 콘텐츠 아이템과의 인코딩된 연관을 제공하는 기법
KR102385652B1 (ko) 작성 애플리케이션 확장판 활성화 기법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant