Skip to content

Commit 12942da

Browse files
feat: add advanced rules option to accessibility scan
1 parent 23953de commit 12942da

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

src/tools/accessibility.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,12 @@ async function fetchAccessibilityIssues(
195195
}
196196

197197
async function executeAccessibilityScan(
198-
args: { name: string; pageURL: string; authConfigId?: number },
198+
args: {
199+
name: string;
200+
pageURL: string;
201+
authConfigId?: number;
202+
advancedRules?: boolean;
203+
},
199204
context: ScanProgressContext,
200205
server: McpServer,
201206
config: BrowserStackConfig,
@@ -213,6 +218,7 @@ async function executeAccessibilityScan(
213218
context,
214219
config,
215220
args.authConfigId,
221+
args.advancedRules,
216222
);
217223
} catch (error) {
218224
return handleMCPError("startAccessibilityScan", server, config, error);
@@ -368,10 +374,16 @@ async function runAccessibilityScan(
368374
context: ScanProgressContext,
369375
config: BrowserStackConfig,
370376
authConfigId?: number,
377+
advancedRules?: boolean,
371378
): Promise<CallToolResult> {
372379
const scanner = await initializeScanner(config);
373380

374-
const startResp = await scanner.startScan(name, [pageURL], authConfigId);
381+
const startResp = await scanner.startScan(
382+
name,
383+
[pageURL],
384+
authConfigId,
385+
advancedRules,
386+
);
375387
const scanId = startResp.data!.id;
376388
const scanRunId = startResp.data!.scanRunId;
377389

@@ -431,6 +443,10 @@ export default function addAccessibilityTools(
431443
.number()
432444
.optional()
433445
.describe("Optional auth config ID for authenticated scans"),
446+
advancedRules: z
447+
.boolean()
448+
.optional()
449+
.describe("Enable advanced accessibility rules in the scan settings"),
434450
},
435451
async (args, context) => {
436452
return await executeAccessibilityScan(args, context, server, config);

src/tools/accessiblity-utils/scanner.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class AccessibilityScanner {
3131
name: string,
3232
urlList: string[],
3333
authConfigId?: number,
34+
advancedRules?: boolean,
3435
): Promise<AccessibilityScanResponse> {
3536
if (!this.auth?.username || !this.auth?.password) {
3637
throw new Error(
@@ -84,6 +85,9 @@ export class AccessibilityScanner {
8485
urlList: transformedUrlList,
8586
recurring: false,
8687
...(authConfigId && { authConfigId }),
88+
...(advancedRules !== undefined && {
89+
scanSettings: { advancedRules },
90+
}),
8791
};
8892

8993
let requestBody = baseRequestBody;

0 commit comments

Comments
 (0)