summaryrefslogtreecommitdiff
path: root/DomainDigUITests
diff options
context:
space:
mode:
Diffstat (limited to 'DomainDigUITests')
-rw-r--r--DomainDigUITests/AccessibilityAuditHarness.swift8
-rw-r--r--DomainDigUITests/AccessibilityAuditTests.swift15
2 files changed, 21 insertions, 2 deletions
diff --git a/DomainDigUITests/AccessibilityAuditHarness.swift b/DomainDigUITests/AccessibilityAuditHarness.swift
index 9767d95..ca4d12b 100644
--- a/DomainDigUITests/AccessibilityAuditHarness.swift
+++ b/DomainDigUITests/AccessibilityAuditHarness.swift
@@ -87,7 +87,13 @@ enum AccessibilityAuditHarness {
try app.performAccessibilityAudit { issue in
let isEnforced = !enforcedAuditTypes.intersection(issue.auditType).isEmpty
let marker = isEnforced ? "FAIL" : "report"
- findings.append("[\(marker)][\(name(for: issue.auditType))] \(issue.compactDescription)")
+ // Include the element so the burndown says *what* to fix, not
+ // just that something is wrong.
+ let element = issue.element.map { el -> String in
+ let label = el.label.isEmpty ? el.identifier : el.label
+ return label.isEmpty ? "\(el.elementType)" : "\"\(label)\""
+ } ?? "unknown element"
+ findings.append("[\(marker)][\(name(for: issue.auditType))] \(issue.compactDescription) — \(element)")
// true suppresses the finding, false reports it as a test failure.
return !isEnforced
}
diff --git a/DomainDigUITests/AccessibilityAuditTests.swift b/DomainDigUITests/AccessibilityAuditTests.swift
index 6a90bac..63ae584 100644
--- a/DomainDigUITests/AccessibilityAuditTests.swift
+++ b/DomainDigUITests/AccessibilityAuditTests.swift
@@ -17,7 +17,20 @@ final class AccessibilityAuditTests: XCTestCase {
// MARK: Per-screen audits
func testInspectScreen() throws {
- try auditRootTab("Inspect")
+ let app = AccessibilityAuditHarness.launch()
+ app.selectRootTab("Inspect")
+
+ // Type a domain so the Run button is enabled. A disabled control has no
+ // contrast requirement under WCAG 1.4.3, but the audit still flags it,
+ // so auditing the empty state would report a false positive forever.
+ let field = app.textFields.firstMatch
+ if field.waitForExistence(timeout: 5) {
+ field.tap()
+ field.typeText("example.com")
+ }
+
+ let audited = try AccessibilityAuditHarness.audit(app, screen: "inspect", test: self)
+ try XCTSkipUnless(audited, "Audit did not complete in time for Inspect")
}
func testDashboardScreen() throws {