CN112306469A - 一种无障碍组件构建方法、装置、设备及存储介质 - Google Patents

一种无障碍组件构建方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112306469A
CN112306469A CN201910774120.XA CN201910774120A CN112306469A CN 112306469 A CN112306469 A CN 112306469A CN 201910774120 A CN201910774120 A CN 201910774120A CN 112306469 A CN112306469 A CN 112306469A
Authority
CN
China
Prior art keywords
component
barrier
free
information
business
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.)
Pending
Application number
CN201910774120.XA
Other languages
English (en)
Inventor
不公告发明人
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910774120.XA priority Critical patent/CN112306469A/zh
Publication of CN112306469A publication Critical patent/CN112306469A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开实施例公开了一种无障碍组件构建方法、装置、设备及存储介质。该方法包括:当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;根据基础组件和业务组件确定配置信息;在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。本公开实施例的技术方案,在开发过程中,由于基础组件已符合与无障碍访问有关的国际标准,则在基于基础组件构建无障碍组件过程中,无需考虑国际标准;由于是在业务组件的基础上构建无障碍组件,由此可以实现无障碍访问和业务逻辑的解耦,简化了无障碍访问的开发难度。

Description

一种无障碍组件构建方法、装置、设备及存储介质
技术领域
本公开实施例涉及互联网应用技术领域,尤其涉及一种无障碍组件构建方法、装置、设备及存储介质。
背景技术
互联网技术的蓬勃发展,引领了社会信息化的新潮流,如今,互联网已经成为人们日常使用的信息交流的必要渠道。然而,现有的大多数互联网网页在设计之初未考虑到残障人士的特殊情况,网页的无障碍访问特性较差,这使得残障人士在访问网页时会遇到很多困难。
比如,视障人士在访问网页时需要使用辅助工具才能获取到网页上的信息,以读屏软件为例,读屏软件在获取到用户的触摸操作后,会实时给予反馈,示例性的,读屏软件会语音提示用户此时触摸的文字的信息。但是,网页中的很多信息比如图片、视频等,没有相应的替代文字的网页元素,这使得读屏软件很难获取到这些信息。现有的解决方案是在网页的各个需要交互的地方进行特殊编码,比如,在按钮、图片、输入框等地方进行特殊编码,以使读屏软件可以获取到这些信息,但这势必会增加开发成本、降低开发效率。
发明内容
本公开实施例提供了一种无障碍组件构建方法、装置、设备及存储介质,以实现无障碍访问和业务逻辑的解耦,降低开发成本。
第一方面,本公开实施例提供了一种无障碍组件构建方法,可以包括:
当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;
根据基础组件和业务组件确定配置信息;
在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
第二方面,本公开实施例还提供了一种无障碍组件构建装置,可以包括:
业务组件检测模块,用于当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
基础组件获取模块,用于响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;
配置信息确定模块,用于根据基础组件和业务组件确定配置信息;
无障碍组件构建模块,用于在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
第三方面,本公开实施例还提供了一种终端设备,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本公开任意实施例所提供的无障碍组件构建方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例所提供的无障碍组件构建方法。
本公开实施例的技术方案,在开发***中,当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;若响应于在目标位置设置有业务组件,则获取与无障碍访问需求对应的已构建的基础组件,这基础组件是符合与无障碍访问有关的国际标准的;以实现无障碍访问需求为依据,根据基础组件和业务组件确定待配置的配置信息;进而,在基础组件对业务组件进行包装时,可以向业务组件中配置上述配置信息以构建无障碍组件,此时的无障碍组件可以同时具备无障碍访问和业务功能。上述技术方案中,在开发过程中,首先,由于基础组件已符合与无障碍访问有关的国际标准,则在基于基础组件构建无障碍组件过程中,无需考虑国际标准;其次,由于是在业务组件的基础上构建无障碍组件,由此可以实现无障碍访问和业务逻辑的解耦,简化了无障碍访问的开发难度并降低了开发成本。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例一中的一种无障碍组件构建方法的流程图;
图2是本公开实施例二中的一种无障碍组件构建方法的流程图;
图3是本公开实施例三中的一种无障碍组件构建装置的结构框图;
图4是本公开实施例四中的一种终端设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在介绍本发明实施例之前,先对本发明实施例的应用场景进行说明:
当前网页页面可以显示很多内容,比如按钮、输入框、文本、图片、视频、标题等等,以按钮为例,不同的按钮可能表示不同的含义,比如前进、后退、启动、退出、放大、缩小等等。示例性的,在当前网页页面的目标位置上可能设置有业务组件,该业务组件用于提示用户在操作该目标位置,或是说在操作该业务组件时可以实现的相应功能,比如,在当前网页页面的右上角设置有一个按钮,在按钮上设置有“关闭”的标识符,这是在提示用户操作该目标位置或是该业务组件可以关闭当前网页页面。再示例性的,在当前网页页面的目标位置上也可能未设置有业务组件,这是因为该目标位置上的显示内容相关信息在无需业务组件提示的情况下可以直接获取,和/或,该目标位置上未存在需要交互的显示内容相关信息,比如,在目标位置上呈现出一张“欢迎使用本网站”的动图,该动图的作用仅是展示而无需与用户交互。
然而,无论是哪种情况,残障人士,尤其是视障人士都无法直接肉眼获取这些显示内容相关信息,他们需要在辅助工具的帮助下才能获取到。比如,以读屏软件为例,如果读屏软件可以读取到显示内容相关信息,则它可以根据读取结果语音提示残障人士这些显示内容相关信息,以便残障人士进行下一步的操作。需要说明的是,辅助工具可以读取到的显示内容相关信息必须是符合与无障碍访问有关的国际标准的,则开发人员在开发具有无障碍访问特性的网页时,首先需要明白上述国际标准,然后才能开发出与辅助工具配合使用的相应功能,这对开发人员来说是困难重重。
为了解决这一问题,本公开实施例提供了一套基础组件库,这基础组件库正是基于上述国际标准构建而来,且在基础组件库中可以配置有一些与无障碍访问特性相关的配置信息,它可以对业务组件进行包装以构建出无障碍组件,也可以直接作为无障碍组件来单独使用。这样一来,开发人员在开发网页时,可以直接利用这套基础组件库来开发出符合国际标准的具有无障碍访问特性的网页,而无需在网页的各个需要交互的地方进行特殊编码,也无需明白国际标准,这样就可以显著降低开发成本并提升开发效率。
实施例一
图1是本公开实施例一中提供的一种无障碍组件构建方法的流程图。本实施例可适用于基于已构建的基础组件构建出符合国际标准的无障碍组件的情况,尤其适用于构建出无障碍访问和业务逻辑解耦的无障碍组件的情况。该方法可以由本公开实施例提供的无障碍组件构建装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种用户终端设备或服务器上。
参见图1,本公开实施例的方法具体包括如下步骤:
S110、当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件。
其中,在开发***中,对于残障人士尤其是视障人士来说,当前网页页面中的显示内容相关信息多是无法直接肉眼获取,即这些显示内容相关信息存在无障碍访问需求。如果在这些存在无障碍需求的目标位置上设置有业务组件,则可以在业务组件的基础上构建无障碍组件。因此,可以先检测在针对具有无障碍访问需求的目标位置是否设置有业务组件,再根据检测结果确定如何构建无障碍组件。
S120、响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件。
其中,若在当前网页页面中设置有业务组件的目标位置上具有无障碍访问需求,或者是这个业务组件具有无障碍访问需求,则响应于在目标位置设置有业务组件,并获取与无障碍访问需求对应的已构建的基础组件。示例性的,在当前网页页面的右上角设置有一个按钮,在该按钮上设置有“关闭”的标识符,这是在提示用户操作该目标位置可以关闭当前网页页面,显然,这个目标位置是具有无障碍访问需求的,则可以获取一个已构建的基础组件。
需要说明的是,已构建的基础组件可以认为是无障碍访问过程中通用逻辑的抽象,它可能未包含任何组件信息,也可能包含一些与无障碍访问特性相关的组件信息。更重要的是,基础组件是符合与无障碍访问有关的国际标准的组件,在基于基础组件构建无障碍组件过程中,无需考虑国际标准。
S130、根据基础组件和业务组件确定配置信息。
其中,通常情况下,基础组件本身可能无法直接工作,但它可以与当前网页页面中的业务组件结合起来一起使用,即基于基础组件对业务组件进行包装以构建无障碍组件。需要说明的是,在基于基础组件对业务组件进行包装时,需要配置与无障碍访问有关的组件信息,比如描述信息、角色信息等等。因此,在执行包装步骤之前,可以根据基础组件和业务组件确定待配置的配置信息,该配置信息就是与业务组件相关的用于无障碍访问的组件信息,这是因为不同的业务组件的无障碍访问的需求可能不同。
S140、在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
其中,在基础组件中未包含的且与无障碍访问有关的组件信息可以在包装环节传递进来的,即,在基础组件对业务组件进行包装时,配置与无障碍访问有关的组件信息,这组件信息也就是上文所述的配置信息。因此,在基础组件对业务组件进行包装时,可以向业务组件中配置上述配置信息以构建无障碍组件,或者说,向业务组件的配置文件中配置上述配置信息以构建无障碍组件。这样一来,无障碍组件中携带有相关的组件信息,即它可以同时具有业务组件的组件信息和用于无障碍访问的组件信息。
这样一来,基于上述步骤得到的无障碍组件可以同时具备无障碍访问和业务功能,这业务可以是各种用户需求,比如关闭当前网页页面、调整亮度等等。需要说明的是,包装其实就是一个组件构建的方式,即无障碍组件构建的方式。这样一来,与现有技术相比,本公开实施例中的无障碍组件也可以同时具备无障碍访问和业务功能,但是在开发过程中,业务组件可以只关注自己本身的业务逻辑,从业务逻辑中解耦出来的无障碍访问可以放在基础组件中进行处理,这样可以显著降低开发成本,且对当前网页页面的实现没有任何影响。
示例性的,如果在当前网页页面中加载有用于关闭当前网页页面的业务组件,该业务组件的组件信息是:在目标位置处监测到点击操作时,关闭当前网页页面;而与该业务组件相关的无障碍访问是:按钮和关闭当前网页页面。则,在开发***中,业务组件可以实现关闭当前网页页面的功能,基础组件可以未包含任何组件信息,此时,无障碍访问和业务逻辑已拆分。在基础组件对业务组件进行包装时,将如下配置信息配置到业务组件中:角色信息(按钮)和描述信息(关闭当前网页页面),由此构建出无障碍组件。
换个角度理解,在前端领域中,网页页面可以认为是将数据传入进函数后得到的结果,即网页页面=f(data),其中,函数f就是组件。函数需要完成的事情是,接收网页页面需要展示的数据,该数据可以通过函数描述为待展示的状态,由此变成一个网页页面。因此,所谓包装可以理解为,函数在接收到一些数据后,返回结果还是函数(组件),最终实现的网页页面是一层一层的嵌套。在本公开实施例中,配置信息就是数据,则在包装过程中,将配置信息作为输入,将业务组件作为函数,由此得到的结果是无障碍组件。
本公开实施例的技术方案,在开发***中,当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;若响应于在目标位置设置有业务组件,则获取与无障碍访问需求对应的已构建的基础组件,这基础组件是符合与无障碍访问有关的国际标准的;以实现无障碍访问需求为依据,根据基础组件和业务组件确定待配置的配置信息;进而,在基础组件对业务组件进行包装时,可以向业务组件中配置上述配置信息以构建无障碍组件,此时的无障碍组件可以同时具备无障碍访问和业务功能。上述技术方案中,在开发过程中,首先,由于基础组件已符合与无障碍访问有关的国际标准,则在基于基础组件构建无障碍组件过程中,无需考虑国际标准;其次,由于是在业务组件的基础上构建无障碍组件,由此可以实现无障碍访问和业务逻辑的解耦,简化了无障碍访问的开发难度并降低了开发成本。
需要说明的是,首先,对于实现无障碍访问和业务逻辑的解耦的原因在于:无障碍组件是基于基础组件对业务组件进行包装而预先得到,其中,基础组件可以用于实现无障碍访问,业务组件可以用于实现业务功能。这样一来,由于无障碍访问和业务逻辑未存在关联性,无障碍访问是在业务逻辑之外完成的,因此,在构建业务组件时,可以将无障碍访问从业务逻辑中分离出来,每个业务逻辑可以只关注自己本身的内容,由此实现无障碍访问与业务逻辑的解耦和拆分。至于无障碍访问的功能,可以构建一个基础组件单独进行处理,而基于基础组件对业务组件进行包装而得到的无障碍组件,在可以同时实现无障碍访问和业务功能的基础上,还可以实现无障碍访问与业务逻辑的解耦,这将使得业务组件的业务逻辑更加简单,由此可以简化无障碍访问开发难度。
换言之,将无障碍访问从业务逻辑中解耦出来的原因在于,业务逻辑是实现前端界面的一个层次,在业务逻辑中需要完成的内容有很多,比如,从服务端请求一个列表并展示该列表、处理用户下单商品的流程、搜索与关键词相关的网页等等。相较于这些完整的内容,无障碍访问可以认为是零散的内容。如果将无障碍访问的实现也写入业务逻辑中,会使得业务逻辑更为复杂,在关注那些完整的内容的同时,还需要关注这些零散的内容,这显然会提高开发成本。
其次,在无障碍组件构建完成后,可以通过如下步骤将其加载至当前网页页面中:在初始化当前网页页面时,获取待加载的无障碍组件的配置文件,并根据配置文件加载无障碍组件。通常情况下,无障碍组件在开发阶段或是编译阶段已经预先得到,即基于基础组件对业务组件进行包装而预先得到。只是在初始化当前网页页面时,可以获取待加载的无障碍组件的配置文件,并根据配置文件加载已经预先构建的无障碍组件。
实施例二
图2是本公开实施例二中提供的一种无障碍组件构建方法的流程图。本实施例以上述实施例一为基础进行优化。在本实施例中,基础组件可以通过如下步骤预先构建:如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息用于实现无障碍访问;相应的,根据基础组件和业务组件确定配置信息,可以包括:确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为配置信息。
相应的,如图2所示,本实施例的方法具体可以包括如下步骤:
S210、当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件。
S220、响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件,其中,基础组件通过如下步骤预先构建:如果存在共有组件信息,基于共有组件信息构建基础组件,共有组件信息用于实现无障碍访问。
其中,组件可以细分为实际组件和抽象组件,实际组件是可以直接看见的组件,比如按钮、输入框、图片、标题、文本框等等;相应的,抽象组件可以是基于一些组件信息构建而来的无法直接看见的组件。当抽象组件和实际组件相互配合时,实际组件也可以具备这些抽象组件的组件信息。同样地,以用于无障碍访问的组件信息为例,如果当前网页页面中与多个业务组件相关的用于无障碍访问的组件信息是相同的,则可以将这些组件信息作为共有组件信息,并基于共有组件信息构建基础组件。比如,如果共有组件信息是角色信息为按钮,则由此构建出的基础组件中的角色信息固化为按钮。当共有组件信息越多,由此构建得到的基础组件中的固化信息越多,这样一来,在基于基础组件对业务组件进行包装时,向业务组件中配置的配置信息越少,无障碍组件的开发过程越简单。这是因为,向业务组件中配置的配置信息是基础组件中未包含的且是用于实现无障碍访问必备的组件信息,则基础组件中固化的用于实现无障碍访问的共有组件信息越多,待配置的配置信息则越少。
S230、确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为配置信息。
其中,预设组件信息可以是用于实现无障碍访问的必备的组件信息,比如,角色信息和描述信息;相应的,共有组件信息可以包括角色信息和/或描述信息。其中,角色信息可以用于说明无障碍组件的角色,比如按钮、输入框、图片、标题、文本框等等;描述信息可以用于说明无障碍组件的实质内容,比如关闭当前网页页面、调整亮度等等。
示例性的,如果当前网页页面中存在3个业务组件A、B和C,这3个业务组件都是按钮且都具有无障碍访问需求,当点击这3个按钮后分别可以实现“关闭当前网页页面”、“前进”和“后退”。则,在开发过程中,共有组件信息可以是按钮(角色信息),基于共有组件信息构建1个基础组件D,基于D分别包装A、B和C,由此构建出无障碍组件A1、B1和C1。以基于D对A进行包装为例,A中需要配置的配置信息是描述信息,比如关闭当前网页页面。
S240、在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
本公开实施例的技术方案,如果存在共有组件信息,基于共有组件信息构建基础组件,且可以确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息。这样设置的好处在于,基于共有组件信息构建的基础组件可以认为是共有组件信息的抽象,这样就可以复用这个基础组件,即对很多的业务组件进行包装时,都可以使用同一个基础组件,无需在业务逻辑中的不同地方撰写类似的埋点代码。而且,当共有组件信息发生变化后,可以通过更改一处的共有组件信息来实现与该共有组件信息关联的所有基础组件的更改,无需在业务逻辑中更改多个地方的埋点代码,由此可以显著降低错误出现的可能性,并且提高更改效率。
需要说明的是,基础组件可以通过共有组件信息预先构建,也可以通过业务组件的组件类型预先构建,还可以通过共有组件信息和业务组件的组件类型一起预先构建。这是因为,共有组件信息和业务组件的组件类型是完全不同层面的内容,可以从多个角度构建基础组件。对于通过业务组件的组件类型预先构建基础组件的情况,具体的,可以获取业务组件的组件类型,根据组件类型构建基础组件,其中,组件类型可以包括React组件和/或Vue组件。这是因为,业务组件的包装形式在不同的前端技术体系中可能存在差异,不同组件类型的业务组件对应不同的包装形式,比如,若组件类型是Vue组件,则可以通过设计指令(directive)来实现Vue组件的包装;若组件类型是React组件,则可以通过高阶组件(HOC)来实现React组件的包装;等等。
其实,简单来说,组件是可以相互嵌套的,比如高级组件可以包裹低级组件,则对业务组件进行包装可以理解为,构建一个级别高于业务组件的基础组件,这样就可以基于基础组件包裹业务组件,比如,若组件类型是React组件,则基础组件可以是高阶组件(HOC)。因此,如果需要支持React组件,则可以构建一套与React组件匹配的基础组件;如果需要支持Vue组件,则可以构建一套与Vue组件匹配的基础组件。实际上,可以预先分别构建与React组件和Vue组件匹配的基础组件库,这样一来,在开发环节,可以直接将对应的基础组件库提供给开发人员,由此简化开发成本。
一种可选的方案,响应于在目标位置未设置有业务组件,即存在无障碍访问需求的目标位置上未设置有业务组件,可以直接构建与无障碍访问需求对应的无障碍组件,这无障碍组件可以是来自于一套具有无障碍访问特性的基础组件库,此时,只需要从基础组件库中挑选出合适的基础组件,并向基础组件中配置合适的配置信息即可构建成功。比如,在当前网页页面的目标位置上存在获取图片信息的无障碍访问需求,则与这个无障碍访问需求对应的无障碍组件中可以包含“图片”(角色信息)和“欢迎使用本网站”(描述信息)。则,可以从基础组件库中挑选出一个角色信息已固化为图片的基础组件,然后,在网页开发过程中,在向这个基础组件中配置上“欢迎使用本网站”即可。或者,如果基础组件库中的一个基础组件的角色信息和描述信息已固化为待构建的状态,则可以直接将这个基础组件作为无障碍组件使用。
实施例三
图3为本公开实施例三提供的无障碍组件构建装置的结构框图,该装置用于执行上述任意实施例所提供的无障碍组件构建方法。该装置与上述各实施例的无障碍组件构建方法属于同一个发明构思,在无障碍组件构建装置的实施例中未详尽描述的细节内容,可以参考上述无障碍组件构建方法的实施例。参见图3,该装置可包括:业务组件检测模块310、基础组件获取模块320、配置信息确定模块330和无障碍组件构建模块340。
其中,业务组件检测模块310,用于当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
基础组件获取模块320,用于响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;
配置信息确定模块330,用于根据基础组件和业务组件确定配置信息;
无障碍组件构建模块340,用于在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
可选的,在此基础上,基础组件可以通过如下模块预先构建:
第一基础组件构建模块,用于如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息用于实现无障碍访问;
相应的,无障碍组件构建模块340,具体可以用于:
确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为待配置的配置信息。
可选的,预设组件信息可以包括角色信息和描述信息;共有组件信息可以包括角色信息和/或描述信息。
可选的,在此基础上,基础组件可以通过如下模块预先构建:
第二基础组件构建模块,用于获取业务组件的组件类型,根据组件类型构建基础组件。
可选的,组件类型可以包括React组件和/或Vue组件。
可选的,在此基础上,该装置还可以包括:
无障碍组件得到模块,用于在针对目标位置未设置有业务组件时,构建与无障碍访问需求对应的无障碍组件。
可选的,无障碍组件可以通过如下模块加载至当前网页页面中:
在初始化当前网页页面时,获取待加载的无障碍组件的配置文件,并根据配置文件加载无障碍组件。
本公开实施例三提供的无障碍组件构建装置,在开发***中,当前网页页面中,通过业务组件检测模块检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;基础组件获取模块可以获取与无障碍访问需求对应的已构建的基础组件,这基础组件是符合与无障碍访问有关的国际标准的;以实现无障碍访问需求为依据,配置信息确定模块可以根据基础组件和业务组件确定待配置的配置信息;进而,在基础组件对业务组件进行包装时,无障碍组件构建模块可以向业务组件中配置上述配置信息以构建无障碍组件,此时的无障碍组件可以同时具备无障碍访问和业务功能。上述装置,在开发过程中,首先,由于基础组件已符合与无障碍访问有关的国际标准,则在基于基础组件构建无障碍组件过程中,无需考虑国际标准;其次,由于是在业务组件的基础上构建无障碍组件,由此可以实现无障碍访问和业务逻辑的解耦,简化了无障碍访问的开发难度并降低了开发成本。
本公开实施例所提供的无障碍组件构建装置可执行本公开任意实施例所提供的无障碍组件构建方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述无障碍组件构建装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
实施例四
下面参考图4,其示出了适于用来实现本公开实施例的电子设备(例如图4中的终端设备或服务器)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
实施例五
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;根据基础组件和业务组件确定配置信息;在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,基础组件获取模块还可以被描述为“响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,【示例一】提供了一种无障碍组件构建方法,该方法可以包括:
当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;
根据基础组件和业务组件确定配置信息;
在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
根据本公开的一个或多个实施例,【示例二】提供了示例一的方法,基础组件可以通过如下步骤预先构建:
如果存在共有组件信息,基于共有组件信息构建基础组件,其中,共有组件信息用于实现无障碍访问;
相应的,根据基础组件和业务组件确定配置信息,可以包括:
确定预设组件信息和共有组件信息之间的差异组件信息,并将差异组件信息作为配置信息。
根据本公开的一个或多个实施例,【示例三】提供了示例二的方法,预设组件信息包括角色信息和描述信息;共有组件信息包括角色信息和/或描述信息。
根据本公开的一个或多个实施例,【示例四】提供了示例一的方法,基础组件可以通过如下步骤预先构建:
获取业务组件的组件类型,根据组件类型构建基础组件。
根据本公开的一个或多个实施例,【示例五】提供了示例四的方法,组件类型可以包括React组件和/或Vue组件。
根据本公开的一个或多个实施例,【示例六】提供了示例以的方法,该方法还可以包括:响应于在目标位置未设置有业务组件,构建与无障碍访问需求对应的无障碍组件。
根据本公开的一个或多个实施例,【示例七】提供了示例-示例六任一所述的方法,无障碍组件可以通过如下步骤加载至当前网页页面中:
在初始化当前网页页面时,获取待加载的无障碍组件的配置文件,并根据配置文件加载无障碍组件。
根据本公开的一个或多个实施例,【示例八】提供了一种无障碍组件构建装置,该装置可以包括:
业务组件检测模块,用于当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
基础组件获取模块,用于响应于在目标位置设置有业务组件,获取与无障碍访问需求对应的已构建的基础组件;
配置信息确定模块,用于根据基础组件和业务组件确定配置信息;
无障碍组件构建模块,用于在基础组件对业务组件进行包装时,向业务组件中配置上述配置信息以构建无障碍组件。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (10)

1.一种无障碍组件构建方法,其特征在于,包括:
当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
响应于在所述目标位置设置有所述业务组件,获取与所述无障碍访问需求对应的已构建的基础组件;
根据所述基础组件和所述业务组件确定配置信息;
在所述基础组件对所述业务组件进行包装时,向所述业务组件中配置所述配置信息以构建无障碍组件。
2.根据权利要求1所述的方法,其特征在于,所述基础组件通过如下步骤预先构建:
如果存在共有组件信息,基于所述共有组件信息构建所述基础组件,其中,所述共有组件信息用于实现无障碍访问;
并且所述根据所述基础组件和所述业务组件确定配置信息,包括:
确定预设组件信息和所述共有组件信息之间的差异组件信息,并将所述差异组件信息作为配置信息。
3.根据权利要求2所述的方法,其特征在于,所述预设组件信息包括角色信息和描述信息;所述共有组件信息包括所述角色信息和/或所述描述信息。
4.根据权利要求1所述的方法,其特征在于,所述基础组件通过如下步骤预先构建:
获取所述业务组件的组件类型,根据所述组件类型构建所述基础组件。
5.根据权利要求4所述的方法,其特征在于,所述组件类型包括React组件和/或Vue组件。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于在所述目标位置未设置有所述业务组件,构建与所述无障碍访问需求对应的无障碍组件。
7.根据权利要求1-6任一所述的方法,其特征在于,所述无障碍组件通过如下步骤加载至所述当前网页页面中:
在初始化所述当前网页页面时,获取待加载的所述无障碍组件的配置文件,并根据所述配置文件加载所述无障碍组件。
8.一种无障碍组件构建装置,其特征在于,包括:
业务组件检测模块,用于当前网页页面中,检测在针对具有无障碍访问需求的目标位置是否设置有业务组件;
基础组件获取模块,用于响应于在所述目标位置设置有所述业务组件,获取与所述无障碍访问需求对应的已构建的基础组件;
配置信息确定模块,用于根据所述基础组件和所述业务组件确定配置信息;
无障碍组件构建模块,用于在所述基础组件对所述业务组件进行包装时,向所述业务组件中配置所述配置信息以构建无障碍组件。
9.一种终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的无障碍组件构建方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的无障碍组件构建方法。
CN201910774120.XA 2019-08-21 2019-08-21 一种无障碍组件构建方法、装置、设备及存储介质 Pending CN112306469A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910774120.XA CN112306469A (zh) 2019-08-21 2019-08-21 一种无障碍组件构建方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910774120.XA CN112306469A (zh) 2019-08-21 2019-08-21 一种无障碍组件构建方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112306469A true CN112306469A (zh) 2021-02-02

Family

ID=74486710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910774120.XA Pending CN112306469A (zh) 2019-08-21 2019-08-21 一种无障碍组件构建方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112306469A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911535A (zh) * 2022-04-22 2022-08-16 青岛海尔科技有限公司 应用程序组件配置方法、存储介质及电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762729A (zh) * 2018-05-07 2018-11-06 北京五八信息技术有限公司 一种页面构建的方法、装置、计算机设备及存储介质
CN108958736A (zh) * 2018-07-20 2018-12-07 北京三快在线科技有限公司 页面生成方法、装置、电子设备及计算机可读介质
CN109491646A (zh) * 2018-10-18 2019-03-19 北京字节跳动网络技术有限公司 一种消息录入方法、装置、电子设备及可读介质
CN109947388A (zh) * 2019-04-15 2019-06-28 腾讯科技(深圳)有限公司 页面播读的控制方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762729A (zh) * 2018-05-07 2018-11-06 北京五八信息技术有限公司 一种页面构建的方法、装置、计算机设备及存储介质
CN108958736A (zh) * 2018-07-20 2018-12-07 北京三快在线科技有限公司 页面生成方法、装置、电子设备及计算机可读介质
CN109491646A (zh) * 2018-10-18 2019-03-19 北京字节跳动网络技术有限公司 一种消息录入方法、装置、电子设备及可读介质
CN109947388A (zh) * 2019-04-15 2019-06-28 腾讯科技(深圳)有限公司 页面播读的控制方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911535A (zh) * 2022-04-22 2022-08-16 青岛海尔科技有限公司 应用程序组件配置方法、存储介质及电子装置
CN114911535B (zh) * 2022-04-22 2023-12-19 青岛海尔科技有限公司 应用程序组件配置方法、存储介质及电子装置

Similar Documents

Publication Publication Date Title
US20220374538A1 (en) Permission control method and device and electronic equipment
CN111291244B (zh) 房源信息展示方法、装置、终端及存储介质
CN111400625B (zh) 页面处理方法、装置、电子设备及计算机可读存储介质
CN111459364B (zh) 图标更新方法、装置和电子设备
CN111596991A (zh) 交互操作执行方法、装置和电子设备
EP4231143A1 (en) Information display method and apparatus, electronic device, and computer readable storage medium
CN112306487B (zh) 一种埋点数据上报方法、装置、设备及存储介质
CN110865846B (zh) 应用管理的方法、装置、终端、***及存储介质
CN114417782A (zh) 展示方法、装置和电子设备
CN110618811B (zh) 信息呈现方法和装置
CN112256221A (zh) 信息显示方法、装置和电子设备
CN110619101B (zh) 用于处理信息的方法和装置
CN112306469A (zh) 一种无障碍组件构建方法、装置、设备及存储介质
CN115630197A (zh) 媒体内容处理方法、装置和电子设备
CN111309323B (zh) 参数初始化方法、装置和电子设备
CN111290812B (zh) 应用控件的显示方法、装置、终端及存储介质
JP2023527174A (ja) ビデオ特殊効果の配置方法、ビデオ特殊効果の配置装置、デバイス及び記憶媒体
CN112333462A (zh) 直播间页面跳转方法、返回方法、装置及电子设备
CN110099122B (zh) 用于发送网络请求的方法和装置
CN113220293B (zh) 页面展示方法、装置、电子设备和计算机可读介质
CN111310031B (zh) 房源信息展示方法、装置、终端及存储介质
CN115079891B (zh) 文档内容展示方法、装置和电子设备
CN112445517B (zh) 入口文件生成方法、装置、电子设备和计算机可读介质
CN111796802B (zh) 功能包生成方法、装置和电子设备
CN111489286B (zh) 图片处理方法、装置、设备和介质

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