掌桥专利:专业的专利平台
掌桥专利
首页

网站信息无障碍检测工具

文献发布时间:2023-06-19 13:45:04


网站信息无障碍检测工具

技术领域

本发明涉及计算机技术领域,具体地说是网站信息无障碍检测工具。

背景技术

据统计,政府机构的网站已开通81723个,但是无障碍网站所占比例不到1%,而国外有些地区的网站90%以上已经实现了信息无障碍,我们国家在信息无障碍方面,同发达国家还存在着距离。

政府网站数据量和模板量都比较大,信息无障碍建设是否达到标准只用人工检测是无法覆盖整个网站的页面,所以必须通过计算机辅助完成。在实施网站无障碍建设时技术人员也需要准确的了解实施范围的问题点和改造情况。实施管理人员更需要掌握项目的实施进度,而这些的都需要检测软件的辅助来提高效率和准确性。

目前的检测手段,分为“机器检测”、“辅助检测”、“人工检测三种:

1.机器检测:是机器可以完全判断出这个检测点是错误的。

2.辅助检测:是机器虽然检测出了这个检测点。但不能完全判断就是错误的。需要人为的进行判断。

3.人工检测:机器不能进行检测或者机器检测已经通过,需要人工进行检测判断。

以上第2第3种测试方式,在测试时效率低下,人为出错了较高,如果网页文本很大,检测数据库是否完成网站信息无障碍的检测时间会很长,严重影响数据处理的速度。软件开发文档是软件开发使用和维护过程中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,开发文档是不可或缺的资料。

因此,需要设计网站信息无障碍检测工具,具有智能化检测,自动检测,支持增量,暂停续测,智能采样,易于分析,检测结果可以按标准中的可感知性、可操作性、可理解性、可兼容性等分类显示,按标准级别统计等,检测结果可以生成报告导出可以支持国家及行业等多项标准的合规性检测软件,检测流程完整、严谨、快速、准确。

发明内容

本发明的目的是克服现有技术的不足,提供了网站信息无障碍检测工具,具有智能化检测,自动检测,支持增量,暂停续测,智能采样,易于分析,检测结果可以按标准中的可感知性、可操作性、可理解性、可兼容性等分类显示,按标准级别统计等,检测结果可以生成报告导出可以支持国家及行业等多项标准的合规性检测软件,检测流程完整、严谨、快速、准确。

为了达到上述目的,本发明提供网站信息无障碍检测工具:包括:爬虫设计,结构设计,接口设计,模块设计和数据结构设计;

【爬虫设计】包括:

S1:向服务器发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers信息,等待服务器的响应;

S2:获取响应内容:如果服务器正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型有HTML、JSON、二进制文件(如图片、视频);

S3:解析内容:得到的内容:

第一种是HTML,用正则表达式、网页解析库进行解析;

第二种是JSON,直接转成JOSN对象进行解析;

第三种是二进制数据,保存或者进一步处理;

S4:保存内容:保存形式多样,保存形式包括文本、数据库、或者特定格式的文件;

【结构设计】为:软件采用CS架构设计JAVA语言开发,用户界面采用SWT开发包,核心模块采用JXBrowse开源chrome浏览器,数据库采用Sqlite嵌入式数据库;

【接口设计】包括:文件接口,接口设置,查看设置,工具栏设置,控制栏设置,检测窗口设置,检测状态设置,检测结果设置,筛选设置和进度状态设置;

文件接口包括:保存或载入检测结果,查询网址或源代码,单页或汇总报表和退出;

接口设置包括模式设置,级别设置,超时设置,深度设置和网页过滤;

模式设置:站内框架式深度检索:默认开启,检索时会自动识别站内的内联框架会检测网页内容及连接;

站内连接式深度检索:默认开启状态,通过连接的href属性的地址对网站进行检索,是主要的检索网站的方式;

站内智能域名检索:开启时检索时不指检索主域名、子域名也会被检索,默认情况下是关闭状态;

级别设置:分三个级别,每个级别对应标准响应的指标,指标可进行详细设定,可以只勾选其中一个或几个,此功能让用户可以针对单个标准进行检测和修改时使用;

超时设置:异步加载等时设置:网页中有异步加载的数据或代码时等待的时间,超过时间将不会等待异步加载的数据,继续进行下一步的检测阶段;

页面加载超时设置:页面加载等待时间由于网络原因和网站本身的原因导致加载网页时长时间访问不到,超时后将忽略跳过加载的网页加载下一个网页;

深度设置:指从网站主页开始树性结构的层级,一般的网页在3-4层左右,一般不会超过6层级别;

网页过滤:默认情况下网站的所有文件、音频、视频都是被过滤掉的,如果有特殊的网址或类型需要设置;

查看设置包括检测结果,源代码,预览和图表;

工具栏设置:通过图标的方式示意操作功能方便用户操作,显示接口主要包括:保存检测结果、载入检测结果、模式设置、级别设置、超时设置、深度设置、网页过滤、高级设置、单报表、汇总报表、帮助、退出;

控制栏设置:控制栏主要作用是对检测过程的控制,主要功能包括:检测停止、暂停、继续;检测的网址输入框,开始检测按钮,载入本地文件进行检测;

检测窗口设置:检测窗口由四个选型卡组成分别为:检测窗口、检测代码、源代码、预览;应的是菜单接口中的四个接口;

检测状态设置:显示检测过程中检测的状态,显示状态有正常、超时、无效、失败,操作包括:刷新、开启刷新、全部和页码显示;

检测结果设置:由两个选项卡组成分别为:检测结果和图表;对应查看的检测结果接口,检测结果由:索引、检测分类、标准编号、等级、检测方式、检测结果、位置、检测点组成;

筛选设置:可以通过筛选栏中的感知性、操作性、理解性、兼容性、机器检测、辅助检测、人工检测、全部显示组合来筛选检测结果中的数据方便查看自己想要的内容;

进度状态设置:主要显示检测的深度和总体进度,深度一般分为1-10层可以自定义设置,最多10层,进度是抓取到网站的数量和检测完成的检测数量;

【模块设计】包括:验证模块,下载模块,筛选模块,模拟模块,检测模块,保存模块,分析模块;

验证模块:通过输入的检测网址对网站进行访问,验证输入的网站是否可以正常访问;

下载模块:验证模块通过后,开启根据设置层级进行访问网页,通过JXBrowse插件完全模仿浏览器访问,当浏览器加载完网页后(包含静态的网页代码和动态加载的代码),下载网站源代码;

筛选模块:根据网页过滤规则对资源路径网址进行过滤,信息无障碍的检测标准内并没有涉及到文件在下载是为提高效率和速度默认将其过滤;

模拟模块:通过模拟操作对网页的键盘操作的部分进行模拟操作,检测是否符合无障碍标准,可以检测键盘的焦点陷入、链接访问是否可以正常访问,是否通过键盘访问全部网页的信息无障碍中涉及操作性的问题;

检测模块:依据行标或国标的各项指标对代码的属性关联性等问题进行逐一检测;

保存模块:检测的结果通过可感知性、可操作性、可理解性、兼容性四个方面和机器检测、人工检测、辅助检测三种检测方式保存到数据库中;

分析模块:分析数据库中的检测结果,汇总整个网站的检测情况,导出报表和图表;

【数据结构设计】包括:检测标准信息数据库,检测信息数据库和导出汇总表;

检测标准信息数据库包括标准信息表和标准描述表,所述检测信息数据库包括检测汇总表、检测信息表、检测源代码存储表和检测链接存储表;

标准信息表:主要保存标准的内容信息用于检测问题时显示出对应的标准信息,创建语句:CREATE TABLE esd_info_standard(ID UNIQUE NOT NULL,DESCRIPTION NOTNULL,LVL VARCHAR,PROP,STANDARD_CODE,IS_CHECKED VARCHAR DEFAULT(1),STANDARD_NAME VARCHAR);

标准描述表:用于显示标准描述或技术描述;

创建语句:CREATE TABLE"esd_info_accessibi l ity"([ID]UNIQUE NOT NULL,[DESCRIPTION]NOT NULL);

检测汇总表:保存检测的汇总信息;创建语句

CREATE TABLE esd_check_count(ID INTEGER PRIMARY KEY AUTOINCREMENT,SITE,STATE,FIRST,SECOND,THIRD,MACHINERYCOUNT,URL UNIQUE,LVL,DEPTH,TIME,DOWNLOADTIME,CHECKTIME);

检测信息表:保存检测过程中的各项信息;创建语句:

CREATE TABLE esd_check_information(SITE COLLATE RTRIM,URL COLLATE

RTRIM,PROP COLLATE RTRIM,TYPE,LVL,ID,ANCHOR,UNIQUE_ID VARCHAR,ELEMENT_INDEX INT DEFAULT(0));

CREATE INDEX I_queryLvlCount ON esd_check_information(URL COLLATE

RTRIM ASC,SITE COLLATE RTRIM ASC,LVL COLLATE BINARY ASC);

CREATE INDEX I_queryTypeCount ON esd_check_information(URL COLLATE

RTRIM ASC,TYPE COLLATE BINARY ASC,SITE COLLATE RTRIM ASC);

CREATE INDEX TYPE_SITE_INDEX

on esd_check_information(TYPE,SITE);

CREATE INDEX ID_INDEX

on esd_check_information(ID);

检测源代码存储表:用于存储网页的源代码;创建语句:CREATE TABLE esd_html_source(SITE COLLATE BINARY,URL COLLATEBINARY,HTML,CHARSET,ORIGIN_LINK);CREATEINDEX queryhtml ON esd_html_source(SITE COLLATE BINARY ASC,URLCOLLATE BINARYASC);

检测链接存储表:用于存储抓取网站链接地址,创建语句:

CREATE TABLE esd_url(id INTEGER PRIMARY KEY AUTOINCREMENT,url

VARCHAR(256)UNIQUE,parent_url VARCHAR(256),depth INT,checkStatusVARCHAR DEFAULT(0));

导出汇总表:报表导出时临时做汇总的表esd_printAllReports_key,导出语句:CREATE TABLEesd_printReports_key(id VARCHAR PRIMARY KEY,"key"VARCHAR,pathVARCHAR)。

Response包括:

请求方式:主要是GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS;

请求URL:URL全称是统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL来唯一来确定;

请求头:包括请求时的头部信息,如User-Agent、Host、Cookies信息;

请求体:请求时额外携带的数据,如表单提交时的表单数据。

Response包括:

响应状态:有多种响应状态,200代表成功,301代表跳转,404代表找不到页面,502代表服务器错误;

响应头:内容类型、内容长度、服务器信息、设置cookies;

响应体:包括请求资源的内容,如网页HTML、图片二进制数据。

页面内容包括网页文本,图片文件,视频和其他文件。

解析方式包括:直接处理,Json解析,正则表达式,BeautifulSoup,Pyquery和XPath。

保存内容包括:文本,关系型数据库,非关系型数据库和二进制文件。

本发明同现有技术相比,具有智能化检测,自动检测,支持增量,暂停续测。智能采样,易于分析,检测结果可以按标准中的可感知性、可操作性、可理解性、可兼容性等分类显示,按标准级别统计等。检测结果可以生成报告导出可以支持国家及行业等多项标准的合规性检测软件,检测流程完整、严谨、快速、准确。

附图说明

图1为本发明的检测流程示意图;

图2为本发明的标准信息表示意图;

图3为本发明的标准描述表示意图;

图4为本发明的检测汇总表示意图;

图5为本发明的检测信息表示意图;

图6为本发明的检测源代码存储表示意图;

图7为本发明的检测链接存储表示意图;

图8为本发明的主界面示意图;

图9为本发明的工具栏示意图;

图10为本发明的图表结构示意图;

图11为本发明的导出检测报告示意图。

具体实施方式

现结合附图对本发明做进一步描述。

参见图1-7,本发明提供网站信息无障碍检测工具:

包括:爬虫设计,结构设计,接口设计,模块设计和数据结构设计;

【爬虫设计】包括:

S1:向服务器发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers信息,等待服务器的响应;

S2:获取响应内容:如果服务器正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型有HTML、JSON、二进制文件(如图片、视频);

S3:解析内容:得到的内容:

第一种是HTML,用正则表达式、网页解析库进行解析;

第二种是JSON,直接转成JOSN对象进行解析;

第三种是二进制数据,保存或者进一步处理;

S4:保存内容:保存形式多样,保存形式包括文本、数据库、或者特定格式的文件;

【结构设计】为:软件采用CS架构设计JAVA语言开发,用户界面采用SWT开发包,核心模块采用JXBrowse开源chrome浏览器,数据库采用Sqlite嵌入式数据库。

【接口设计】包括:文件接口,接口设置,查看设置,工具栏设置,控制栏设置,检测窗口设置,检测状态设置,检测结果设置,筛选设置和进度状态设置;

文件接口包括:保存或载入检测结果,查询网址或源代码,单页或汇总报表和退出;

接口设置包括模式设置,级别设置,超时设置,深度设置和网页过滤;

述模式设置:站内框架式深度检索:默认开启,检索时会自动识别站内的内联框架会检测网页内容及连接;

站内连接式深度检索:默认开启状态,通过连接的href属性的地址对网站进行检索,是主要的检索网站的方式;

站内智能域名检索:开启时检索时不指检索主域名、子域名也会被检索,默认情况下是关闭状态;

级别设置:分三个级别,每个级别对应标准响应的指标,指标可进行详细设定,可以只勾选其中一个或几个,此功能让用户可以针对单个标准进行检测和修改时使用;

超时设置:异步加载等时设置:网页中有异步加载的数据或代码时等待的时间,超过时间将不会等待异步加载的数据,继续进行下一步的检测阶段;

页面加载超时设置:页面加载等待时间由于网络原因和网站本身的原因导致加载网页时长时间访问不到,超时后将忽略跳过加载的网页加载下一个网页;

深度设置:指从网站主页开始树性结构的层级,一般的网页在3-4层左右,一般不会超过6层级别;

网页过滤:默认情况下网站的所有文件、音频、视频都是被过滤掉的,如果有特殊的网址或类型需要设置;

查看设置包括检测结果,源代码,预览和图表;

工具栏设置:通过图标的方式示意操作功能方便用户操作,显示接口主要包括:保存检测结果、载入检测结果、模式设置、级别设置、超时设置、深度设置、网页过滤、高级设置、单报表、汇总报表、帮助、退出;

控制栏设置:控制栏主要作用是对检测过程的控制,主要功能包括:检测停止、暂停、继续;检测的网址输入框,开始检测按钮,载入本地文件进行检测;

检测窗口设置:检测窗口由四个选型卡组成分别为:检测窗口、检测代码、源代码、预览;应的是菜单接口中的四个接口;

检测状态设置:显示检测过程中检测的状态,显示状态有正常、超时、无效、失败,操作包括:刷新、开启刷新、全部和页码显示;

检测结果设置:由两个选项卡组成分别为:检测结果和图表;对应查看的检测结果接口,检测结果由:索引、检测分类、标准编号、等级、检测方式、检测结果、位置、检测点组成;

筛选设置:可以通过筛选栏中的感知性、操作性、理解性、兼容性、机器检测、辅助检测、人工检测、全部显示组合来筛选检测结果中的数据方便查看自己想要的内容;

进度状态设置:主要显示检测的深度和总体进度,深度一般分为1-10层可以自定义设置,最多10层,进度是抓取到网站的数量和检测完成的检测数量;

【模块设计】包括:验证模块,下载模块,筛选模块,模拟模块,检测模块,保存模块,分析模块;

验证模块:通过输入的检测网址对网站进行访问,验证输入的网站是否可以正常访问;

下载模块:验证模块通过后,开启根据设置层级进行访问网页,通过JXBrowse插件完全模仿浏览器访问,当浏览器加载完网页后(包含静态的网页代码和动态加载的代码),下载网站源代码;

筛选模块:根据网页过滤规则对资源路径网址进行过滤,信息无障碍的检测标准内并没有涉及到文件在下载是为提高效率和速度默认将其过滤;

模拟模块:通过模拟操作对网页的键盘操作的部分进行模拟操作,检测是否符合无障碍标准,可以检测键盘的焦点陷入、链接访问是否可以正常访问,是否通过键盘访问全部网页的信息无障碍中涉及操作性的问题;

检测模块:依据行标或国标的各项指标对代码的属性关联性等问题进行逐一检测;

保存模块:检测的结果通过可感知性、可操作性、可理解性、兼容性四个方面和机器检测、人工检测、辅助检测三种检测方式保存到数据库中;

分析模块:分析数据库中的检测结果,汇总整个网站的检测情况,导出报表和图表;

【数据结构设计】包括:检测标准信息数据库,检测信息数据库和导出汇总表;

检测标准信息数据库包括标准信息表和标准描述表,所述检测信息数据库包括检测汇总表、检测信息表、检测源代码存储表和检测链接存储表;

标准信息表:主要保存标准的内容信息用于检测问题时显示出对应的标准信息,创建语句:CREATE TABLE esd_info_standard(ID UNIQUE NOT NULL,DESCRIPTION NOTNULL,LVL VARCHAR,PROP,STANDARD_CODE,IS_CHECKED VARCHAR DEFAULT(1),STANDARD_NAME VARCHAR);

标准描述表:用于显示标准描述或技术描述;

创建语句:CREATE TABLE"esd_info_accessibi l ity"([ID]UNIQUE NOT NULL,[DESCRIPTION]NOT NULL);

检测汇总表:保存检测的汇总信息;创建语句

CREATE TABLE esd_check_count(ID INTEGER PRIMARY KEY AUTOINCREMENT,SITE,STATE,FIRST,SECOND,THIRD,MACHINERYCOUNT,URL UNIQUE,LVL,DEPTH,TIME,DOWNLOADTIME,CHECKTIME);

检测信息表:保存检测过程中的各项信息;创建语句:

CREATE TABLE esd_check_information(SITE COLLATE RTRIM,URL COLLATE

RTRIM,PROP COLLATE RTRIM,TYPE,LVL,ID,ANCHOR,UNIQUE_ID VARCHAR,ELEMENT_INDEX INT DEFAULT(0));

CREATE INDEX I_queryLvlCount ON esd_check_information(URL COLLATE

RTRIM ASC,SITE COLLATE RTRIM ASC,LVL COLLATE BINARY ASC);

CREATE INDEX I_queryTypeCount ON esd_check_information(URL COLLATE

RTRIM ASC,TYPE COLLATE BINARY ASC,SITE COLLATE RTRIM ASC);

CREATE INDEX TYPE_SITE_INDEX

on esd_check_information(TYPE,SITE);

CREATE INDEX ID_INDEX

on esd_check_information(ID);

检测源代码存储表:用于存储网页的源代码;创建语句:CREATE TABLE esd_html_source(SITE COLLATE BINARY,URL COLLATEBINARY,HTML,CHARSET,ORIGIN_LINK);CREATEINDEX queryhtml ON esd_html_source(SITE COLLATE BINARY ASC,URLCOLLATE BINARYASC);

检测链接存储表:用于存储抓取网站链接地址,创建语句:

CREATE TABLE esd_url(id INTEGER PRIMARY KEY AUTOINCREMENT,url

VARCHAR(256)UNIQUE,parent_url VARCHAR(256),depth INT,checkStatus

VARCHAR DEFAULT(0));

导出汇总表:报表导出时临时做汇总的表esd_printAllReports_key,导出语句:CREATE TABLE esd_printReports_key(id VARCHAR PRIMARY KEY,"key"VARCHAR,pathVARCHAR)。

Response包括:

请求方式:主要是GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS;

请求URL:URL全称是统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL来唯一来确定;

请求头:包括请求时的头部信息,如User-Agent、Host、Cookies信息;

请求体:请求时额外携带的数据,如表单提交时的表单数据。

Response包括:

响应状态:有多种响应状态,200代表成功,301代表跳转,404代表找不到页面,502代表服务器错误;

响应头:内容类型、内容长度、服务器信息、设置cookies;

响应体:包括请求资源的内容,如网页HTML、图片二进制数据。

页面内容包括网页文本,图片文件,视频和其他文件。

解析方式包括:直接处理,Json解析,正则表达式,BeautifulSoup,Pyquery和XPath。

保存内容包括:文本,关系型数据库,非关系型数据库和二进制文件。

本发明在实际使用过程中,按照如下操作:

检测软件主页面

保存检测结果:保存检测完成的结果。生成的文件是*.db的文件。

载入检测结果:载入检测结果,文件是*.db的文件模式设置:设计在网页内获取网址的方式以及是否智能搜索二级域名。

站内框架式深度搜索:主要用于设置是否检测标签和