Package-level declarations

Types

Link copied to clipboard
data class A11yIssue(val issueId: String, val severity: A11ySeverity, val ruleId: String, val ruleName: String, val affectedNode: A11yNode, val message: String, val howToFix: String, val wcagReference: String?)

Accessibility violation produced by an com.composea11yscanner.core.rule.A11yRule.

Link copied to clipboard
data class A11yNode(val nodeId: String, val composableName: String, val bounds: Rect, val contentDescription: String?, val isTouchTarget: Boolean, val textColor: Color?, val backgroundColors: List<Color>, val isFocusable: Boolean, val isMergedDescendant: Boolean, val depth: Int, val role: A11yRole? = null, val effectiveTouchBounds: Rect? = null)

Normalized representation of one UI semantics node scanned by the accessibility rules.

Link copied to clipboard

Mirrors androidx.compose.ui.semantics.Role without a Compose dependency. Conversion happens in :scanner-ui from Compose semantics roles.

Link copied to clipboard
sealed interface A11ySeverity : Comparable<A11ySeverity>

Priority level for an accessibility issue.

Link copied to clipboard
value class Color(val value: Long)

Packed ARGB color stored as a 64-bit value.

Link copied to clipboard
data class Rect(val left: Int, val top: Int, val right: Int, val bottom: Int)

Immutable pixel-coordinate bounding box in screen space. Android screen coordinates: origin top-left, y increases downward.

Link copied to clipboard
data class ScannerConfig(val enabledRules: Set<String>, val minContrastRatio: Float = 4.5f, val debugOverlay: Boolean = true, val autoScan: Boolean = true)

Runtime configuration used by the scanner engine and UI integration.

Link copied to clipboard
sealed interface ScannerState

State emitted while a scan is idle, running, complete, or failed.

Link copied to clipboard
data class ScanResult(val scanId: String, val timestamp: Long, val totalNodes: Int, val issues: List<A11yIssue>, val passedRules: Int, val failedRules: Int)

Final outcome of a completed accessibility scan.