我有一个页面,我可以使用操作从 Pa11y 5 获取可访问性测试报告。
当我单击该特定页面上的按钮时,我会得到一个弹出/覆盖,我希望 Pa11y 嗅探该弹出/覆盖页面并报告可访问性指标,但目前 Pa11y 5 只能为我提供主父页面忽略弹出页面中关于 html 的任何报告?有没有办法实现这一点,告诉 Pa11y 切换到弹出窗口并嗅探该弹出窗口 html 并报告。
Popup/overlay 包含 div[role='dialog'] 因为它是一个由 aria 组成的模态对话框。
我使用的是最新的 Pa11y,因此我一直将其称为 Pa11y 5。我没有使用过 Pa11y4,因此无法评论这是否适用于 Pa11y 4。
真诚感谢任何帮助/建议。
更新: 根据要求,以下是我的完整(相关)部分代码
const PageOptions1 = {
timeout: 30000,
userAgent: 'A11Y TESTS',
actions: [
'screen capture screenshots/001-DefaultView.png'
]
};
const PageOptions2 = {
timeout: 35000,
userAgent: 'A11Y TESTS',
rootElement: 'div[role="dialog"]',
actions: [
'click element button[data-automation-id="ccbutton"]',
'wait for element div[role="dialog"] to be added',
'screen capture screenshots/002-Popup.png',
'click element i.fa-close',
'screen capture screenshots/002-DefaultView.png'
]
};
async function runPa11y(navigateUrl) {
try {
const results = await Promise.all([
pa11y(navigateUrl, PageOptions1),
pa11y(navigateUrl, PageOptions2),
]);
LogResults(results);
} catch (error) {
console.error("Error: " + error.message);
}
}
runPa11y("Url to navigate");