@sudobility/testomniac_runner_service 0.1.79 → 0.1.80

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.
@@ -7,5 +7,7 @@ export declare class AccessibilityExpertise implements Expertise {
7
7
  private checkFormLabels;
8
8
  private checkImageAltCoverage;
9
9
  private checkDialogLabelling;
10
+ private checkPositiveTabindex;
11
+ private checkAutoplayMedia;
10
12
  }
11
13
  //# sourceMappingURL=accessibility-expertise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-expertise.d.ts","sourceRoot":"","sources":["../../src/expertise/accessibility-expertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMpE,qBAAa,sBAAuB,YAAW,SAAS;IACtD,IAAI,SAAmB;IAEvB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAY9C,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;CA+B7B"}
1
+ {"version":3,"file":"accessibility-expertise.d.ts","sourceRoot":"","sources":["../../src/expertise/accessibility-expertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMpE,qBAAa,sBAAuB,YAAW,SAAS;IACtD,IAAI,SAAmB;IAEvB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAc9C,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,kBAAkB;CAqB3B"}
@@ -10,6 +10,8 @@ export class AccessibilityExpertise {
10
10
  outcomes.push(this.checkFormLabels(context.html));
11
11
  outcomes.push(this.checkImageAltCoverage(context.html));
12
12
  outcomes.push(this.checkDialogLabelling(context.html));
13
+ outcomes.push(this.checkPositiveTabindex(context.html));
14
+ outcomes.push(this.checkAutoplayMedia(context.html));
13
15
  return outcomes;
14
16
  }
15
17
  checkDocumentLanguage(html) {
@@ -127,5 +129,42 @@ export class AccessibilityExpertise {
127
129
  result: "pass",
128
130
  };
129
131
  }
132
+ checkPositiveTabindex(html) {
133
+ const tabindexMatches = html.match(/\btabindex=["'](\d+)["']/gi) ?? [];
134
+ const positiveTabindexes = tabindexMatches.filter(m => {
135
+ const val = parseInt(m.replace(/\btabindex=["']|["']/gi, ""), 10);
136
+ return val > 0;
137
+ });
138
+ if (positiveTabindexes.length > 0) {
139
+ return {
140
+ expected: "Elements should not use positive tabindex values (disrupts natural tab order)",
141
+ observed: `${positiveTabindexes.length} element(s) have positive tabindex values`,
142
+ result: "warning",
143
+ };
144
+ }
145
+ return {
146
+ expected: "Elements should not use positive tabindex values (disrupts natural tab order)",
147
+ observed: "No positive tabindex values detected",
148
+ result: "pass",
149
+ };
150
+ }
151
+ checkAutoplayMedia(html) {
152
+ const autoplayVideo = /<video\b[^>]*\bautoplay\b/gi.test(html) &&
153
+ !/<video\b[^>]*\bmuted\b/gi.test(html);
154
+ const autoplayAudio = /<audio\b[^>]*\bautoplay\b/gi.test(html);
155
+ if (autoplayVideo || autoplayAudio) {
156
+ const type = autoplayVideo ? "video" : "audio";
157
+ return {
158
+ expected: "Media should not autoplay with sound",
159
+ observed: `Detected ${type} element with autoplay attribute (without muted)`,
160
+ result: "warning",
161
+ };
162
+ }
163
+ return {
164
+ expected: "Media should not autoplay with sound",
165
+ observed: "No autoplaying unmuted media detected",
166
+ result: "pass",
167
+ };
168
+ }
130
169
  }
131
170
  //# sourceMappingURL=accessibility-expertise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-expertise.js","sourceRoot":"","sources":["../../src/expertise/accessibility-expertise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessibility-expertise.js","sourceRoot":"","sources":["../../src/expertise/accessibility-expertise.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,7 @@ export declare class SecurityExpertise implements Expertise {
8
8
  evaluate(context: ExpertiseContext): Outcome[];
9
9
  private checkApiKeysInUrls;
10
10
  private checkInsecureRequests;
11
+ private checkInsecureFormActions;
12
+ private checkWrongInputTypes;
11
13
  }
12
14
  //# sourceMappingURL=security-expertise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-expertise.d.ts","sourceRoot":"","sources":["../../src/expertise/security-expertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOpE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,IAAI,SAAc;IAElB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAS9C,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,qBAAqB;CAwB9B"}
1
+ {"version":3,"file":"security-expertise.d.ts","sourceRoot":"","sources":["../../src/expertise/security-expertise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOpE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,IAAI,SAAc;IAElB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,EAAE;IAW9C,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,oBAAoB;CA4C7B"}
@@ -12,6 +12,8 @@ export class SecurityExpertise {
12
12
  const outcomes = [];
13
13
  outcomes.push(...this.checkApiKeysInUrls(context));
14
14
  outcomes.push(...this.checkInsecureRequests(context));
15
+ outcomes.push(this.checkInsecureFormActions(context));
16
+ outcomes.push(this.checkWrongInputTypes(context.html));
15
17
  return outcomes;
16
18
  }
17
19
  checkApiKeysInUrls(context) {
@@ -57,5 +59,57 @@ export class SecurityExpertise {
57
59
  },
58
60
  ];
59
61
  }
62
+ checkInsecureFormActions(context) {
63
+ const pageUrl = context.currentUrl || context.initialUrl || "";
64
+ const isHttps = pageUrl.startsWith("https://");
65
+ if (!isHttps) {
66
+ return {
67
+ expected: "Forms should not submit over insecure HTTP",
68
+ observed: "Page is not HTTPS, skipping check",
69
+ result: "pass",
70
+ };
71
+ }
72
+ const httpForms = context.html.match(/<form\b[^>]*action=["']http:\/\/[^"']+["'][^>]*>/gi);
73
+ if (httpForms && httpForms.length > 0) {
74
+ return {
75
+ expected: "Forms should not submit over insecure HTTP on HTTPS pages",
76
+ observed: `${httpForms.length} form(s) submit to HTTP URLs instead of HTTPS`,
77
+ result: "error",
78
+ };
79
+ }
80
+ return {
81
+ expected: "Forms should not submit over insecure HTTP on HTTPS pages",
82
+ observed: "All form actions use HTTPS or relative URLs",
83
+ result: "pass",
84
+ };
85
+ }
86
+ checkWrongInputTypes(html) {
87
+ const textInputs = html.match(/<input\b[^>]*type=["']text["'][^>]*>/gi) ?? [];
88
+ const mistyped = [];
89
+ for (const input of textInputs) {
90
+ const lower = input.toLowerCase();
91
+ if (/\b(name|placeholder|id|autocomplete)=["'][^"']*(email)[^"']*["']/i.test(lower)) {
92
+ mistyped.push('email field using type="text"');
93
+ }
94
+ else if (/\b(name|placeholder|id|autocomplete)=["'][^"']*(phone|tel)[^"']*["']/i.test(lower)) {
95
+ mistyped.push('phone field using type="text"');
96
+ }
97
+ else if (/\b(name|placeholder|id|autocomplete)=["'][^"']*(url|website)[^"']*["']/i.test(lower)) {
98
+ mistyped.push('URL field using type="text"');
99
+ }
100
+ }
101
+ if (mistyped.length > 0) {
102
+ return {
103
+ expected: "Input fields should use semantic types (email, tel, url) for better validation",
104
+ observed: `${mistyped.length} input(s) use type="text" instead: ${mistyped.slice(0, 3).join(", ")}`,
105
+ result: "warning",
106
+ };
107
+ }
108
+ return {
109
+ expected: "Input fields should use semantic types (email, tel, url) for better validation",
110
+ observed: "Input types appear appropriate",
111
+ result: "pass",
112
+ };
113
+ }
60
114
  }
61
115
  //# sourceMappingURL=security-expertise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-expertise.js","sourceRoot":"","sources":["../../src/expertise/security-expertise.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG;IACvB,qEAAqE;IACrE,8BAA8B;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,IAAI,GAAG,UAAU,CAAC;IAElB,QAAQ,CAAC,OAAyB;QAChC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,kBAAkB,CAAC,OAAyB;QAClD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,CAAC,IAAI,CAAC;wBACZ,QAAQ,EAAE,wCAAwC;wBAClD,QAAQ,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,uBAAuB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBAC1E,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,sCAAsC;gBAChD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,OAAyB;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CACzC,GAAG,CAAC,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAC3E,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL;oBACE,QAAQ,EAAE,+BAA+B;oBACzC,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,8BAA8B,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzF,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL;gBACE,QAAQ,EAAE,+BAA+B;gBACzC,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,MAAM;aACf;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"security-expertise.js","sourceRoot":"","sources":["../../src/expertise/security-expertise.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG;IACvB,qEAAqE;IACrE,8BAA8B;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,IAAI,GAAG,UAAU,CAAC;IAElB,QAAQ,CAAC,OAAyB;QAChC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,kBAAkB,CAAC,OAAyB;QAClD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAE/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,CAAC,IAAI,CAAC;wBACZ,QAAQ,EAAE,wCAAwC;wBAClD,QAAQ,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,uBAAuB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBAC1E,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE,wCAAwC;gBAClD,QAAQ,EAAE,sCAAsC;gBAChD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB,CAAC,OAAyB;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CACzC,GAAG,CAAC,EAAE,CACJ,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAC3E,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL;oBACE,QAAQ,EAAE,+BAA+B;oBACzC,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,8BAA8B,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzF,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL;gBACE,QAAQ,EAAE,+BAA+B;gBACzC,QAAQ,EAAE,wBAAwB;gBAClC,MAAM,EAAE,MAAM;aACf;SACF,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,OAAyB;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,QAAQ,EAAE,4CAA4C;gBACtD,QAAQ,EAAE,mCAAmC;gBAC7C,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAClC,oDAAoD,CACrD,CAAC;QACF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,QAAQ,EAAE,2DAA2D;gBACrE,QAAQ,EAAE,GAAG,SAAS,CAAC,MAAM,+CAA+C;gBAC5E,MAAM,EAAE,OAAO;aAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,2DAA2D;YACrE,QAAQ,EAAE,6CAA6C;YACvD,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAClC,IACE,mEAAmE,CAAC,IAAI,CACtE,KAAK,CACN,EACD,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACjD,CAAC;iBAAM,IACL,uEAAuE,CAAC,IAAI,CAC1E,KAAK,CACN,EACD,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACjD,CAAC;iBAAM,IACL,yEAAyE,CAAC,IAAI,CAC5E,KAAK,CACN,EACD,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,QAAQ,EACN,gFAAgF;gBAClF,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,sCAAsC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACnG,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EACN,gFAAgF;YAClF,QAAQ,EAAE,gCAAgC;YAC1C,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;CACF"}
@@ -3,7 +3,7 @@ import type { BrowserAdapter } from "../adapter";
3
3
  * A page health issue found during browser-side evaluation.
4
4
  */
5
5
  export interface PageHealthIssue {
6
- type: "broken_image" | "element_overlap" | "dead_social_button" | "broken_link_pattern" | "cart_math_error" | "grammar_error" | "defunct_service" | "missing_price" | "inconsistent_grid" | "empty_link" | "broken_anchor" | "missing_noopener";
6
+ type: "broken_image" | "element_overlap" | "dead_social_button" | "broken_link_pattern" | "cart_math_error" | "grammar_error" | "defunct_service" | "missing_price" | "inconsistent_grid" | "empty_link" | "broken_anchor" | "missing_noopener" | "horizontal_overflow" | "truncated_text" | "invalid_price" | "invalid_discount" | "invalid_rating" | "unlabeled_button" | "small_touch_target";
7
7
  severity: "error" | "warning";
8
8
  title: string;
9
9
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"page-health-evaluator.d.ts","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,kBAAkB,CAAC;IACvB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CAoY5B"}
1
+ {"version":3,"file":"page-health-evaluator.d.ts","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC,CA4kB5B"}
@@ -314,6 +314,161 @@ export async function evaluatePageHealth(adapter) {
314
314
  description: `Links opening in new tab without rel="noopener" are a security risk (reverse tabnabbing)`,
315
315
  });
316
316
  }
317
+ // =========================================================================
318
+ // 14. Horizontal overflow — unintended horizontal scrollbar
319
+ // =========================================================================
320
+ if (document.documentElement.scrollWidth >
321
+ document.documentElement.clientWidth + 5) {
322
+ found.push({
323
+ type: "horizontal_overflow",
324
+ severity: "warning",
325
+ title: "Page has horizontal overflow",
326
+ description: `Page width (${document.documentElement.scrollWidth}px) exceeds viewport (${document.documentElement.clientWidth}px), causing horizontal scrollbar`,
327
+ });
328
+ }
329
+ // =========================================================================
330
+ // 15. Truncated text — important content hidden by overflow
331
+ // =========================================================================
332
+ const truncatedEls = Array.from(document.querySelectorAll("h1, h2, h3, a, button, [class*='title'], [class*='name'], [class*='price']"));
333
+ let truncatedCount = 0;
334
+ for (const el of truncatedEls.slice(0, 40)) {
335
+ const style = window.getComputedStyle(el);
336
+ if (style.overflow === "hidden" &&
337
+ style.textOverflow === "ellipsis" &&
338
+ el.scrollWidth > el.clientWidth + 2) {
339
+ truncatedCount++;
340
+ }
341
+ }
342
+ if (truncatedCount > 0) {
343
+ found.push({
344
+ type: "truncated_text",
345
+ severity: "warning",
346
+ title: `${truncatedCount} element(s) have truncated text`,
347
+ description: "Important text (headings, links, titles, prices) is being cut off by CSS overflow",
348
+ });
349
+ }
350
+ // =========================================================================
351
+ // 16. Invalid prices — $0.00, negative, or NaN prices
352
+ // =========================================================================
353
+ const priceEls = Array.from(document.querySelectorAll('[class*="price"], [class*="amount"], [class*="cost"]'));
354
+ const invalidPrices = [];
355
+ for (const el of priceEls) {
356
+ const text = el.textContent?.trim() || "";
357
+ const priceMatch = text.match(/[$€£]\s*(-?[\d,.]+)/);
358
+ if (priceMatch) {
359
+ const val = parseFloat(priceMatch[1].replace(/,/g, ""));
360
+ if (val <= 0 || isNaN(val)) {
361
+ invalidPrices.push(`"${text.slice(0, 30)}" (${val})`);
362
+ }
363
+ }
364
+ }
365
+ if (invalidPrices.length > 0) {
366
+ found.push({
367
+ type: "invalid_price",
368
+ severity: "error",
369
+ title: `${invalidPrices.length} invalid price(s): zero, negative, or NaN`,
370
+ description: `Invalid prices found: ${invalidPrices.slice(0, 3).join(", ")}`,
371
+ });
372
+ }
373
+ // =========================================================================
374
+ // 17. Sale price higher than original — discount makes no sense
375
+ // =========================================================================
376
+ const saleContainers = Array.from(document.querySelectorAll('[class*="price"], [class*="sale"]'));
377
+ for (const container of saleContainers) {
378
+ const strikes = container.querySelectorAll("del, s, strike, .ec_product_price_old, [class*='original'], [class*='was'], [class*='old_price']");
379
+ if (strikes.length === 0)
380
+ continue;
381
+ for (const strike of Array.from(strikes)) {
382
+ const origMatch = strike.textContent?.match(/[$€£]\s*([\d,.]+)/);
383
+ const containerText = container.textContent || "";
384
+ const allPrices = Array.from(containerText.matchAll(/[$€£]\s*([\d,.]+)/g));
385
+ if (origMatch && allPrices.length >= 2) {
386
+ const original = parseFloat(origMatch[1].replace(/,/g, ""));
387
+ const prices = allPrices.map(m => parseFloat(m[1].replace(/,/g, "")));
388
+ const salePrice = prices.find(p => p !== original && p < original * 2);
389
+ if (salePrice != null && salePrice > original) {
390
+ found.push({
391
+ type: "invalid_discount",
392
+ severity: "error",
393
+ title: "Sale price is higher than original price",
394
+ description: `Original: $${original.toFixed(2)}, Sale: $${salePrice.toFixed(2)}`,
395
+ });
396
+ break;
397
+ }
398
+ }
399
+ }
400
+ }
401
+ // =========================================================================
402
+ // 18. Invalid star ratings — values > 5 or < 0
403
+ // =========================================================================
404
+ const ratingEls = Array.from(document.querySelectorAll('[class*="rating"], [class*="stars"], [aria-label*="rating"]'));
405
+ for (const el of ratingEls) {
406
+ const text = el.textContent?.trim() || "";
407
+ const ariaLabel = el.getAttribute("aria-label") || "";
408
+ const combined = text + " " + ariaLabel;
409
+ const ratingMatch = combined.match(/([\d.]+)\s*(?:\/\s*5|out\s*of\s*5|stars?)/i);
410
+ if (ratingMatch) {
411
+ const val = parseFloat(ratingMatch[1]);
412
+ if (val > 5 || val < 0) {
413
+ found.push({
414
+ type: "invalid_rating",
415
+ severity: "error",
416
+ title: `Invalid rating value: ${val}`,
417
+ description: `Star rating of ${val} is outside the valid 0-5 range`,
418
+ });
419
+ break;
420
+ }
421
+ }
422
+ }
423
+ // =========================================================================
424
+ // 19. Icon-only buttons without accessible labels
425
+ // =========================================================================
426
+ const buttons = Array.from(document.querySelectorAll('button, [role="button"], a[class*="btn"], a[class*="button"]'));
427
+ let unlabeledCount = 0;
428
+ for (const btn of buttons.slice(0, 30)) {
429
+ const text = btn.textContent?.trim() || "";
430
+ const ariaLabel = btn.getAttribute("aria-label") || "";
431
+ const title = btn.getAttribute("title") || "";
432
+ const hasImg = !!btn.querySelector("img, svg, [class*='icon']");
433
+ const isVisible = btn.offsetParent !== null;
434
+ if (isVisible &&
435
+ hasImg &&
436
+ text.length === 0 &&
437
+ ariaLabel.length === 0 &&
438
+ title.length === 0) {
439
+ unlabeledCount++;
440
+ }
441
+ }
442
+ if (unlabeledCount > 0) {
443
+ found.push({
444
+ type: "unlabeled_button",
445
+ severity: "warning",
446
+ title: `${unlabeledCount} icon-only button(s) without accessible label`,
447
+ description: "Buttons with only icons and no text, aria-label, or title attribute are inaccessible to screen readers",
448
+ });
449
+ }
450
+ // =========================================================================
451
+ // 20. Small touch targets — interactive elements < 44x44px
452
+ // =========================================================================
453
+ const touchTargets = Array.from(document.querySelectorAll("a, button, input, select, [role='button']"));
454
+ let smallTargetCount = 0;
455
+ for (const el of touchTargets.slice(0, 50)) {
456
+ const rect = el.getBoundingClientRect();
457
+ if (rect.width > 0 &&
458
+ rect.height > 0 &&
459
+ rect.width < 24 &&
460
+ rect.height < 24) {
461
+ smallTargetCount++;
462
+ }
463
+ }
464
+ if (smallTargetCount > 0) {
465
+ found.push({
466
+ type: "small_touch_target",
467
+ severity: "warning",
468
+ title: `${smallTargetCount} interactive element(s) smaller than 24x24px`,
469
+ description: "Small touch targets are difficult to tap on mobile devices (WCAG recommends minimum 44x44px)",
470
+ });
471
+ }
317
472
  return found;
318
473
  });
319
474
  for (const r of results) {
@@ -1 +1 @@
1
- {"version":3,"file":"page-health-evaluator.js","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-health-evaluator.js","sourceRoot":"","sources":["../../src/scanner/page-health-evaluator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/testomniac_runner_service",
3
- "version": "0.1.79",
3
+ "version": "0.1.80",
4
4
  "description": "Shared scanning logic for Testomniac scanner and Chrome extension",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",