@qualweb/cui-checks 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/cui.bundle.js +1 -1
- package/package.json +2 -2
- package/src/rules/QW-CUI-C1.ts +6 -30
package/CHANGELOG.md
CHANGED
package/dist/cui.bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={160:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var l=Object.getOwnPropertyDescriptor(t,n);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,l)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return l(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CUIChecks=void 0;const r=s(n(526));t.CUIChecks=class CUIChecks{constructor(e,t){this.rules={},this.rulesToExecute={},this.report={type:"cui-checks",metadata:{passed:0,warning:0,failed:0,inapplicable:0},assertions:{}};for(const t of Object.keys(r)||[]){const n=t.replace(/_/g,"-");this.rules[n]=new r[t](e),this.rulesToExecute[n]=!0}t&&this.configure(t)}configure(e){var t,n,i;this.resetConfiguration(),e.rules&&(e.rules=e.rules.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim()))),e.exclude&&(e.exclude=e.exclude.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim())));for(const l of Object.keys(this.rules)||[])e.principles&&0!==e.principles.length?e.levels&&0!==e.levels.length?this.rules[l].hasPrincipleAndLevels(e.principles,e.levels)||(this.rulesToExecute[l]=!1):this.rules[l].hasPrincipleAndLevels(e.principles,["A","AA","AAA"])||(this.rulesToExecute[l]=!1):e.levels&&0!==e.levels.length&&(this.rules[l].hasPrincipleAndLevels(["Perceivable","Operable","Understandable","Robust"],e.levels)||(this.rulesToExecute[l]=!1)),e.principles||e.levels?e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(n=this.rules[l])||void 0===n?void 0:n.getRuleMapping()))&&(this.rulesToExecute[l]=!0):e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(t=this.rules[l])||void 0===t?void 0:t.getRuleMapping())?this.rulesToExecute[l]=!0:this.rulesToExecute[l]=!1),e.exclude&&0!==e.exclude.length&&(e.exclude.includes(l)||e.exclude.includes(null===(i=this.rules[l])||void 0===i?void 0:i.getRuleMapping()))&&(this.rulesToExecute[l]=!1)}resetConfiguration(){var e;for(const t in null!==(e=this.rulesToExecute)&&void 0!==e?e:{})this.rulesToExecute[t]=!0}executeRule(e,t){const n=window.qwPage.getElements(t);if(n.length>0)for(const t of null!=n?n:[])this.rules[e].execute(t);else this.rules[e].execute(void 0);this.report.assertions[e]=this.rules[e].getFinalResults(),this.report.metadata[this.report.assertions[e].metadata.outcome]++}getReport(){return this.report}}},168:e=>{e.exports=class Check{constructor(e,t){this.rule=e,this.locale=t}getRuleMapping(){return this.rule.mapping}hasPrincipleAndLevels(e,t){var n;let i=!1;for(const l of null!==(n=this.rule.metadata["success-criteria"])&&void 0!==n?n:[])e.includes(l.principle)&&t.includes(l.level)&&(i=!0);return i}getFinalResults(){return this.outcomeRule(),this.rule}getNumberOfPassedResults(){return this.rule.metadata.passed}getNumberOfWarningResults(){return this.rule.metadata.warning}getNumberOfFailedResults(){return this.rule.metadata.failed}addTestResult(e){e.description&&""!==e.description.trim()||(e.description=this.getTranslation(e.resultCode)),this.rule.results.push(e),e.verdict&&"inapplicable"!==e.verdict&&this.rule.metadata[e.verdict]++}getTranslation(e,t){var n,i,l,s,r,o;let u="";if(u=(null===(l=null===(i=null===(n=this.locale.translate["act-rules"])||void 0===n?void 0:n[this.rule.code])||void 0===i?void 0:i.results)||void 0===l?void 0:l[e])?null===(s=this.locale.translate["act-rules"][this.rule.code].results)||void 0===s?void 0:s[e]:null===(o=null===(r=this.locale.fallback["act-rules"])||void 0===r?void 0:r[this.rule.code].results)||void 0===o?void 0:o[e],t)for(const e of Object.keys(t)||[])u=u.replace(new RegExp(`{${e}}`,"g"),t[e].toString());return u}outcomeRule(){this.rule.metadata.failed>0?this.rule.metadata.outcome="failed":this.rule.metadata.warning>0?this.rule.metadata.outcome="warning":this.rule.metadata.passed>0?this.rule.metadata.outcome="passed":(this.rule.metadata.outcome="inapplicable",this.rule.metadata.inapplicable=1),this.rule.results.length>0&&this.addDescription()}addDescription(){var e;for(const t of null!==(e=this.rule.results)&&void 0!==e?e:[])if(t.verdict===this.rule.metadata.outcome){this.rule.metadata.description=t.description;break}}}},911:e=>{e.exports=class Test{constructor(e,t,n){this.verdict=null!=e?e:"inapplicable",this.description=null!=t?t:"",this.resultCode=null!=n?n:"I1",this.elements=new Array,this.attributes=new Array}addElement(e,t=!0,n=!1,i){const l=e.getElementHtmlCode(t,n),s=e.getElementSelector();let r;i&&(r=window.AccessibilityUtils.getAccessibleName(e)),this.elements.push({htmlCode:l,pointer:s,accessibleName:r})}addElements(e,t=!0,n=!1,i){for(const l of null!=e?e:[])this.addElement(l,t,n,i)}}},175:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ElementIsNotInert=t.ElementIsSemanticLink=t.ElementIsNonText=t.ElementIsImage=t.ElementHasCSSRules=t.ElementHasNegativeTabIndex=t.ElementIsVisibleOrInAccessibilityTree=t.ElementIsNotHidden=t.isInMainContext=t.IsLangSubTagValid=t.IsHTMLDocument=t.ElementAllowsNameFromContent=t.ElementIsNotWidget=t.ElementIsWidget=t.ElementHasOneOfTheFollowingRoles=t.ElementIsNot=t.ElementIsVisible=t.ElementSrcAttributeFilenameEqualsAccessibleName=t.ElementIsInAccessibilityTree=t.ElementHasTextNode=t.ElementHasText=t.ElementHasNonEmptyAttribute=t.IfElementHasTagNameMustHaveAttributeRole=t.ElementHasAttributeValue=t.ElementHasAttributeRole=t.ElementHasAttribute=t.ElementHasAttributes=t.ElementIsHTMLElement=t.ElementExists=t.CUICheckDecorator=void 0;const l=i(n(354));t.CUICheckDecorator=function(e){const t=function(){var t,n,i,s,r,o,u,a,c,d,f,m,p,v,h,g;const E=arguments[0],b=l.default[e.name];b.metadata.passed=0,b.metadata.warning=0,b.metadata.failed=0,b.metadata.inapplicable=0,b.metadata.outcome="inapplicable";try{b.name=null!==(i=null===(n=null===(t=E.translate["act-rules"])||void 0===t?void 0:t[b.code])||void 0===n?void 0:n.name)&&void 0!==i?i:null===(r=null===(s=E.fallback["act-rules"])||void 0===s?void 0:s[b.code])||void 0===r?void 0:r.name,b.description=null!==(a=null===(u=null===(o=E.translate["act-rules"])||void 0===o?void 0:o[b.code])||void 0===u?void 0:u.description)&&void 0!==a?a:null===(d=null===(c=E.fallback["act-rules"])||void 0===c?void 0:c[b.code])||void 0===d?void 0:d.description,b.metadata.description=null!==(v=null===(p=null===(m=null===(f=E.translate["act-rules"])||void 0===f?void 0:f[b.code])||void 0===m?void 0:m.results)||void 0===p?void 0:p.I1)&&void 0!==v?v:null===(g=null===(h=E.fallback["act-rules"])||void 0===h?void 0:h[b.code].results)||void 0===g?void 0:g.I1}catch(e){console.error(e)}b.results=new Array;const w=function(){return new e(b,E)};return w.prototype=e.prototype,new w};return t.prototype=e.prototype,t},t.ElementExists=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0])return i.apply(this,arguments)}},t.ElementIsHTMLElement=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].isElementHTMLElement())return i.apply(this,arguments)}},t.ElementHasAttributes=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasAttributes())return i.apply(this,arguments)}},t.ElementHasAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){if(arguments[0].elementHasAttribute(e))return l.apply(this,arguments)}}},t.ElementHasNonEmptyAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&t.trim())return l.apply(this,arguments)}}},t.ElementHasAttributeRole=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(!t||t===e)return l.apply(this,arguments)}}},t.ElementHasAttributeValue=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){const n=arguments[0].getElementAttribute(e);if(n&&n===t)return s.apply(this,arguments)}}},t.IfElementHasTagNameMustHaveAttributeRole=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){if(arguments[0].getElementTagName()!==e)return s.apply(this,arguments);{const e=arguments[0].getElementAttribute("role");if(!e||e===t)return s.apply(this,arguments)}}}},t.ElementHasText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(""!==window.DomUtils.getTrimmedText(e))return i.apply(this,arguments)}},t.ElementHasTextNode=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasTextNode())return i.apply(this,arguments)}},t.ElementIsInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementInAT(arguments[0]))return i.apply(this,arguments)}},t.ElementHasNegativeTabIndex=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("tabindex");if(e&&parseInt(e)<=-1)return i.apply(this,arguments)}},t.ElementIsNotInert=function(e,t,n){const i=n.value;n.value=function(){let e=!0;if(arguments[0].elementHasAttribute("inert")){if("false"!==arguments[0].getElementAttribute("inert")&&(e=!1),!e)return}let t=!0,n=arguments[0].getElementParent();for(;n;){const e=n.getElementAttribute("inert");e&&"true"===e&&(t=!1),n=n.getElementParent()}if(t&&!window.qwPage.pageHasOpenDialog())return i.apply(this,arguments)}},t.ElementIsVisibleOrInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.qwPage.getElements("*").filter((e=>e.hasTextNode()&&(window.DomUtils.isElementVisible(e)||window.AccessibilityUtils.isElementInAT(e)))).length>0)return i.apply(this,arguments)}},t.ElementIsNotHidden=function(e,t,n){const i=n.value;n.value=function(){if(!window.DomUtils.isElementHidden(arguments[0]))return i.apply(this,arguments)}},t.ElementSrcAttributeFilenameEqualsAccessibleName=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("src"),t=arguments[0].getElementAttribute("srcset"),n=arguments[0].getElementParent();let l=new Array;if(e){const t=e.split("/");l=[t[t.length-1].trim().toLowerCase()]}if(t){const e=t.split(",");for(const t of e||[]){const e=t.split(" ")[0].split("/");l.push(e[e.length-1].trim().toLowerCase())}}if(n){if("picture"===n.getElementTagName()){const e=n.getElements("source");for(const t of e){const e=t.getElementAttribute("srcset");if(e){const t=e.split("/");l.push(t[t.length-1].trim().toLowerCase())}}}}const s=window.AccessibilityUtils.getAccessibleName(arguments[0]);if(s&&l&&l.includes(s.toLowerCase()))return i.apply(this,arguments)}},t.isInMainContext=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("_documentSelector");if(!e||!e.includes(">"))return i.apply(this,arguments)}},t.ElementIsVisible=function(e,t,n){const i=n.value;n.value=function(){if(window.DomUtils.isElementVisible(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNot=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementTagName();if(t&&!e.includes(t))return l.apply(this,arguments)}}},t.ElementHasOneOfTheFollowingRoles=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(t&&e.includes(t))return l.apply(this,arguments)}}},t.ElementIsWidget=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNotWidget=function(e,t,n){const i=n.value;n.value=function(){if(!window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementAllowsNameFromContent=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.allowsNameFromContent(arguments[0]))return i.apply(this,arguments)}},t.IsHTMLDocument=function(e,t,n){const i=n.value;n.value=function(){let e=!1;const t=window.qwPage.getElement("html");if(t&&(e="true"===t.getElementAttribute("nonHTMLPage")),!e)return i.apply(this,arguments)}},t.ElementHasCSSRules=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].getCSSRules())return i.apply(this,arguments)}},t.IsLangSubTagValid=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&(n=t.split("-")[0],window.AccessibilityUtils.languages.hasOwnProperty(n.toLowerCase())))return l.apply(this,arguments);var n}}},t.ElementIsImage=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if("img"===e.getElementTagName()||"img"===t)return i.apply(this,arguments)}},t.ElementIsNonText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(window.DomUtils.objectElementIsNonText(e))return i.apply(this,arguments)}};const s=["link","doc-backlink","doc-biblioref","doc-glossref","doc-noteref"];t.ElementIsSemanticLink=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if(t&&s.includes(t))return i.apply(this,arguments)}}},526:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.QW_CUI_C1=void 0;const l=i(n(153));t.QW_CUI_C1=l.default},153:function(e,t,n){var i=this&&this.__decorate||function(e,t,n,i){var l,s=arguments.length,r=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,i);else for(var o=e.length-1;o>=0;o--)(l=e[o])&&(r=(s<3?l(r):s>3?l(t,n,r):l(t,n))||r);return s>3&&r&&Object.defineProperty(t,n,r),r},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const r=n(175),o=s(n(911)),u=s(n(168));let a=class QW_CUI_C1 extends u.default{constructor(e,t){super(e,t)}execute(e){if(super.getNumberOfPassedResults()+super.getNumberOfFailedResults()===0){const t=new o.default;e?e.getElementText()&&""!==e.getElementText().trim()?e.getElementAttribute("_documentSelector")?(t.verdict="failed",t.resultCode="F3"):(t.verdict="passed",t.resultCode="P1"):(t.verdict="failed",t.resultCode="F2"):(t.verdict="failed",t.resultCode="F1"),e&&t.addElement(e),super.addTestResult(t)}}};i([r.IsHTMLDocument,l("design:type",Function),l("design:paramtypes",[Object]),l("design:returntype",void 0)],a.prototype,"execute",null),a=i([r.CUICheckDecorator,l("design:paramtypes",[Object,Object])],a),e.exports=a},354:e=>{e.exports=JSON.parse('{"QW_CUI_C1":{"name":"Testing check","code":"QW-CUI-C1","description":"This is a test.","metadata":{"target":{"element":"title"},"success-criteria":[{"name":"2.4.2","level":"A","principle":"Operable","url":"https://www.w3.org/WAI/WCAG21/Understanding/page-titled","url_tr":"https://www.w3.org/TR/WCAG21/#page-titled"}],"related":["G88","H25"],"url":"https://www.w3.org/WAI/standards-guidelines/act/rules/2779a5/","type":["ACTRule","TestCase"],"a11yReq":["WCAG21:title"]}}}')}},t={};var n=function n(i){var l=t[i];if(void 0!==l)return l.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}(160);for(var i in n)this[i]=n[i];n.__esModule&&Object.defineProperty(this,"__esModule",{value:!0})})();
|
|
1
|
+
(()=>{"use strict";var e={160:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var l=Object.getOwnPropertyDescriptor(t,n);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,l)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return l(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CUIChecks=void 0;const o=s(n(526));t.CUIChecks=class CUIChecks{constructor(e,t){this.rules={},this.rulesToExecute={},this.report={type:"cui-checks",metadata:{passed:0,warning:0,failed:0,inapplicable:0},assertions:{}};for(const t of Object.keys(o)||[]){const n=t.replace(/_/g,"-");this.rules[n]=new o[t](e),this.rulesToExecute[n]=!0}t&&this.configure(t)}configure(e){var t,n,i;this.resetConfiguration(),e.rules&&(e.rules=e.rules.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim()))),e.exclude&&(e.exclude=e.exclude.map((e=>e.toLowerCase().startsWith("qw")?e.toUpperCase().trim():e.trim())));for(const l of Object.keys(this.rules)||[])e.principles&&0!==e.principles.length?e.levels&&0!==e.levels.length?this.rules[l].hasPrincipleAndLevels(e.principles,e.levels)||(this.rulesToExecute[l]=!1):this.rules[l].hasPrincipleAndLevels(e.principles,["A","AA","AAA"])||(this.rulesToExecute[l]=!1):e.levels&&0!==e.levels.length&&(this.rules[l].hasPrincipleAndLevels(["Perceivable","Operable","Understandable","Robust"],e.levels)||(this.rulesToExecute[l]=!1)),e.principles||e.levels?e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(n=this.rules[l])||void 0===n?void 0:n.getRuleMapping()))&&(this.rulesToExecute[l]=!0):e.rules&&0!==e.rules.length&&(e.rules.includes(l)||e.rules.includes(null===(t=this.rules[l])||void 0===t?void 0:t.getRuleMapping())?this.rulesToExecute[l]=!0:this.rulesToExecute[l]=!1),e.exclude&&0!==e.exclude.length&&(e.exclude.includes(l)||e.exclude.includes(null===(i=this.rules[l])||void 0===i?void 0:i.getRuleMapping()))&&(this.rulesToExecute[l]=!1)}resetConfiguration(){var e;for(const t in null!==(e=this.rulesToExecute)&&void 0!==e?e:{})this.rulesToExecute[t]=!0}executeRule(e,t){const n=window.qwPage.getElements(t);if(n.length>0)for(const t of null!=n?n:[])this.rules[e].execute(t);else this.rules[e].execute(void 0);this.report.assertions[e]=this.rules[e].getFinalResults(),this.report.metadata[this.report.assertions[e].metadata.outcome]++}getReport(){return this.report}}},168:e=>{e.exports=class Check{constructor(e,t){this.rule=e,this.locale=t}getRuleMapping(){return this.rule.mapping}hasPrincipleAndLevels(e,t){var n;let i=!1;for(const l of null!==(n=this.rule.metadata["success-criteria"])&&void 0!==n?n:[])e.includes(l.principle)&&t.includes(l.level)&&(i=!0);return i}getFinalResults(){return this.outcomeRule(),this.rule}getNumberOfPassedResults(){return this.rule.metadata.passed}getNumberOfWarningResults(){return this.rule.metadata.warning}getNumberOfFailedResults(){return this.rule.metadata.failed}addTestResult(e){e.description&&""!==e.description.trim()||(e.description=this.getTranslation(e.resultCode)),this.rule.results.push(e),e.verdict&&"inapplicable"!==e.verdict&&this.rule.metadata[e.verdict]++}getTranslation(e,t){var n,i,l,s,o,r;let u="";if(u=(null===(l=null===(i=null===(n=this.locale.translate["act-rules"])||void 0===n?void 0:n[this.rule.code])||void 0===i?void 0:i.results)||void 0===l?void 0:l[e])?null===(s=this.locale.translate["act-rules"][this.rule.code].results)||void 0===s?void 0:s[e]:null===(r=null===(o=this.locale.fallback["act-rules"])||void 0===o?void 0:o[this.rule.code].results)||void 0===r?void 0:r[e],t)for(const e of Object.keys(t)||[])u=u.replace(new RegExp(`{${e}}`,"g"),t[e].toString());return u}outcomeRule(){this.rule.metadata.failed>0?this.rule.metadata.outcome="failed":this.rule.metadata.warning>0?this.rule.metadata.outcome="warning":this.rule.metadata.passed>0?this.rule.metadata.outcome="passed":(this.rule.metadata.outcome="inapplicable",this.rule.metadata.inapplicable=1),this.rule.results.length>0&&this.addDescription()}addDescription(){var e;for(const t of null!==(e=this.rule.results)&&void 0!==e?e:[])if(t.verdict===this.rule.metadata.outcome){this.rule.metadata.description=t.description;break}}}},911:e=>{e.exports=class Test{constructor(e,t,n){this.verdict=null!=e?e:"inapplicable",this.description=null!=t?t:"",this.resultCode=null!=n?n:"I1",this.elements=new Array,this.attributes=new Array}addElement(e,t=!0,n=!1,i){const l=e.getElementHtmlCode(t,n),s=e.getElementSelector();let o;i&&(o=window.AccessibilityUtils.getAccessibleName(e)),this.elements.push({htmlCode:l,pointer:s,accessibleName:o})}addElements(e,t=!0,n=!1,i){for(const l of null!=e?e:[])this.addElement(l,t,n,i)}}},175:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ElementIsNotInert=t.ElementIsSemanticLink=t.ElementIsNonText=t.ElementIsImage=t.ElementHasCSSRules=t.ElementHasNegativeTabIndex=t.ElementIsVisibleOrInAccessibilityTree=t.ElementIsNotHidden=t.isInMainContext=t.IsLangSubTagValid=t.IsHTMLDocument=t.ElementAllowsNameFromContent=t.ElementIsNotWidget=t.ElementIsWidget=t.ElementHasOneOfTheFollowingRoles=t.ElementIsNot=t.ElementIsVisible=t.ElementSrcAttributeFilenameEqualsAccessibleName=t.ElementIsInAccessibilityTree=t.ElementHasTextNode=t.ElementHasText=t.ElementHasNonEmptyAttribute=t.IfElementHasTagNameMustHaveAttributeRole=t.ElementHasAttributeValue=t.ElementHasAttributeRole=t.ElementHasAttribute=t.ElementHasAttributes=t.ElementIsHTMLElement=t.ElementExists=t.CUICheckDecorator=void 0;const l=i(n(354));t.CUICheckDecorator=function(e){const t=function(){var t,n,i,s,o,r,u,a,c,d,f,m,p,v,h,g;const E=arguments[0],b=l.default[e.name];b.metadata.passed=0,b.metadata.warning=0,b.metadata.failed=0,b.metadata.inapplicable=0,b.metadata.outcome="inapplicable";try{b.name=null!==(i=null===(n=null===(t=E.translate["act-rules"])||void 0===t?void 0:t[b.code])||void 0===n?void 0:n.name)&&void 0!==i?i:null===(o=null===(s=E.fallback["act-rules"])||void 0===s?void 0:s[b.code])||void 0===o?void 0:o.name,b.description=null!==(a=null===(u=null===(r=E.translate["act-rules"])||void 0===r?void 0:r[b.code])||void 0===u?void 0:u.description)&&void 0!==a?a:null===(d=null===(c=E.fallback["act-rules"])||void 0===c?void 0:c[b.code])||void 0===d?void 0:d.description,b.metadata.description=null!==(v=null===(p=null===(m=null===(f=E.translate["act-rules"])||void 0===f?void 0:f[b.code])||void 0===m?void 0:m.results)||void 0===p?void 0:p.I1)&&void 0!==v?v:null===(g=null===(h=E.fallback["act-rules"])||void 0===h?void 0:h[b.code].results)||void 0===g?void 0:g.I1}catch(e){console.error(e)}b.results=new Array;const w=function(){return new e(b,E)};return w.prototype=e.prototype,new w};return t.prototype=e.prototype,t},t.ElementExists=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0])return i.apply(this,arguments)}},t.ElementIsHTMLElement=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].isElementHTMLElement())return i.apply(this,arguments)}},t.ElementHasAttributes=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasAttributes())return i.apply(this,arguments)}},t.ElementHasAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){if(arguments[0].elementHasAttribute(e))return l.apply(this,arguments)}}},t.ElementHasNonEmptyAttribute=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&t.trim())return l.apply(this,arguments)}}},t.ElementHasAttributeRole=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(!t||t===e)return l.apply(this,arguments)}}},t.ElementHasAttributeValue=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){const n=arguments[0].getElementAttribute(e);if(n&&n===t)return s.apply(this,arguments)}}},t.IfElementHasTagNameMustHaveAttributeRole=function(e,t){return function(n,i,l){const s=l.value;l.value=function(){if(arguments[0].getElementTagName()!==e)return s.apply(this,arguments);{const e=arguments[0].getElementAttribute("role");if(!e||e===t)return s.apply(this,arguments)}}}},t.ElementHasText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(""!==window.DomUtils.getTrimmedText(e))return i.apply(this,arguments)}},t.ElementHasTextNode=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].elementHasTextNode())return i.apply(this,arguments)}},t.ElementIsInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementInAT(arguments[0]))return i.apply(this,arguments)}},t.ElementHasNegativeTabIndex=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("tabindex");if(e&&parseInt(e)<=-1)return i.apply(this,arguments)}},t.ElementIsNotInert=function(e,t,n){const i=n.value;n.value=function(){let e=!0;if(arguments[0].elementHasAttribute("inert")){if("false"!==arguments[0].getElementAttribute("inert")&&(e=!1),!e)return}let t=!0,n=arguments[0].getElementParent();for(;n;){const e=n.getElementAttribute("inert");e&&"true"===e&&(t=!1),n=n.getElementParent()}if(t&&!window.qwPage.pageHasOpenDialog())return i.apply(this,arguments)}},t.ElementIsVisibleOrInAccessibilityTree=function(e,t,n){const i=n.value;n.value=function(){if(window.qwPage.getElements("*").filter((e=>e.hasTextNode()&&(window.DomUtils.isElementVisible(e)||window.AccessibilityUtils.isElementInAT(e)))).length>0)return i.apply(this,arguments)}},t.ElementIsNotHidden=function(e,t,n){const i=n.value;n.value=function(){if(!window.DomUtils.isElementHidden(arguments[0]))return i.apply(this,arguments)}},t.ElementSrcAttributeFilenameEqualsAccessibleName=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("src"),t=arguments[0].getElementAttribute("srcset"),n=arguments[0].getElementParent();let l=new Array;if(e){const t=e.split("/");l=[t[t.length-1].trim().toLowerCase()]}if(t){const e=t.split(",");for(const t of e||[]){const e=t.split(" ")[0].split("/");l.push(e[e.length-1].trim().toLowerCase())}}if(n){if("picture"===n.getElementTagName()){const e=n.getElements("source");for(const t of e){const e=t.getElementAttribute("srcset");if(e){const t=e.split("/");l.push(t[t.length-1].trim().toLowerCase())}}}}const s=window.AccessibilityUtils.getAccessibleName(arguments[0]);if(s&&l&&l.includes(s.toLowerCase()))return i.apply(this,arguments)}},t.isInMainContext=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0].getElementAttribute("_documentSelector");if(!e||!e.includes(">"))return i.apply(this,arguments)}},t.ElementIsVisible=function(e,t,n){const i=n.value;n.value=function(){if(window.DomUtils.isElementVisible(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNot=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementTagName();if(t&&!e.includes(t))return l.apply(this,arguments)}}},t.ElementHasOneOfTheFollowingRoles=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=window.AccessibilityUtils.getElementRole(arguments[0]);if(t&&e.includes(t))return l.apply(this,arguments)}}},t.ElementIsWidget=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementIsNotWidget=function(e,t,n){const i=n.value;n.value=function(){if(!window.AccessibilityUtils.isElementWidget(arguments[0]))return i.apply(this,arguments)}},t.ElementAllowsNameFromContent=function(e,t,n){const i=n.value;n.value=function(){if(window.AccessibilityUtils.allowsNameFromContent(arguments[0]))return i.apply(this,arguments)}},t.IsHTMLDocument=function(e,t,n){const i=n.value;n.value=function(){let e=!1;const t=window.qwPage.getElement("html");if(t&&(e="true"===t.getElementAttribute("nonHTMLPage")),!e)return i.apply(this,arguments)}},t.ElementHasCSSRules=function(e,t,n){const i=n.value;n.value=function(){if(arguments[0].getCSSRules())return i.apply(this,arguments)}},t.IsLangSubTagValid=function(e){return function(t,n,i){const l=i.value;i.value=function(){const t=arguments[0].getElementAttribute(e);if(t&&(n=t.split("-")[0],window.AccessibilityUtils.languages.hasOwnProperty(n.toLowerCase())))return l.apply(this,arguments);var n}}},t.ElementIsImage=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if("img"===e.getElementTagName()||"img"===t)return i.apply(this,arguments)}},t.ElementIsNonText=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0];if(window.DomUtils.objectElementIsNonText(e))return i.apply(this,arguments)}};const s=["link","doc-backlink","doc-biblioref","doc-glossref","doc-noteref"];t.ElementIsSemanticLink=function(e,t,n){const i=n.value;n.value=function(){const e=arguments[0],t=window.AccessibilityUtils.getElementRole(e);if(t&&s.includes(t))return i.apply(this,arguments)}}},526:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.QW_CUI_C1=void 0;const l=i(n(153));t.QW_CUI_C1=l.default},153:function(e,t,n){var i=this&&this.__decorate||function(e,t,n,i){var l,s=arguments.length,o=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,i);else for(var r=e.length-1;r>=0;r--)(l=e[r])&&(o=(s<3?l(o):s>3?l(t,n,o):l(t,n))||o);return s>3&&o&&Object.defineProperty(t,n,o),o},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};const o=n(175),r=s(n(911)),u=s(n(168));let a=class QW_CUI_C1 extends u.default{constructor(e,t){super(e,t)}execute(e){console.log(e);const t=new r.default;t.verdict="warning",t.resultCode="W1",super.addTestResult(t)}};a=i([o.CUICheckDecorator,l("design:paramtypes",[Object,Object])],a),e.exports=a},354:e=>{e.exports=JSON.parse('{"QW_CUI_C1":{"name":"Testing check","code":"QW-CUI-C1","description":"This is a test.","metadata":{"target":{"element":"title"},"success-criteria":[{"name":"2.4.2","level":"A","principle":"Operable","url":"https://www.w3.org/WAI/WCAG21/Understanding/page-titled","url_tr":"https://www.w3.org/TR/WCAG21/#page-titled"}],"related":["G88","H25"],"url":"https://www.w3.org/WAI/standards-guidelines/act/rules/2779a5/","type":["ACTRule","TestCase"],"a11yReq":["WCAG21:title"]}}}')}},t={};var n=function n(i){var l=t[i];if(void 0!==l)return l.exports;var s=t[i]={exports:{}};return e[i].call(s.exports,s,s.exports,n),s.exports}(160);for(var i in n)this[i]=n[i];n.__esModule&&Object.defineProperty(this,"__esModule",{value:!0})})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qualweb/cui-checks",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Accessibility tests for conversational user interfaces",
|
|
5
5
|
"main": "dist/cui.bundle.js",
|
|
6
6
|
"scripts": {
|
|
@@ -41,6 +41,6 @@
|
|
|
41
41
|
"webpack-cli": "^4.9.1"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@qualweb/cui-checks": "^0.1.
|
|
44
|
+
"@qualweb/cui-checks": "^0.1.2"
|
|
45
45
|
}
|
|
46
46
|
}
|
package/src/rules/QW-CUI-C1.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CUICheck } from '@qualweb/cui-checks';
|
|
2
2
|
import { Translate } from '@qualweb/locale';
|
|
3
|
-
import { CUICheckDecorator
|
|
3
|
+
import { CUICheckDecorator } from '../lib/decorator';
|
|
4
4
|
import Test from '../lib/Test.object';
|
|
5
5
|
import Check from '../lib/Check.object';
|
|
6
6
|
|
|
@@ -10,36 +10,12 @@ class QW_CUI_C1 extends Check {
|
|
|
10
10
|
super(rule, locale);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
@IsHTMLDocument
|
|
14
13
|
execute(element: typeof window.qwElement | undefined): void {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//the title element does not exit
|
|
21
|
-
test.verdict = 'failed';
|
|
22
|
-
test.resultCode = 'F1';
|
|
23
|
-
}
|
|
24
|
-
//the title element is empty
|
|
25
|
-
else if (!element.getElementText() || element.getElementText().trim() === '') {
|
|
26
|
-
test.verdict = 'failed';
|
|
27
|
-
test.resultCode = 'F2';
|
|
28
|
-
} else if (element.getElementAttribute('_documentSelector')) {
|
|
29
|
-
test.verdict = 'failed';
|
|
30
|
-
test.resultCode = 'F3';
|
|
31
|
-
} else {
|
|
32
|
-
//the title element exists and it's not empty
|
|
33
|
-
test.verdict = 'passed';
|
|
34
|
-
test.resultCode = 'P1';
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (element) {
|
|
38
|
-
test.addElement(element);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
super.addTestResult(test);
|
|
42
|
-
}
|
|
14
|
+
console.log(element);
|
|
15
|
+
const test = new Test();
|
|
16
|
+
test.verdict = 'warning';
|
|
17
|
+
test.resultCode = 'W1';
|
|
18
|
+
super.addTestResult(test);
|
|
43
19
|
}
|
|
44
20
|
}
|
|
45
21
|
|