Skip to content

Feature/core contracts#2

Merged
mohdaquib merged 8 commits into
mainfrom
feature/core-contracts
May 5, 2026
Merged

Feature/core contracts#2
mohdaquib merged 8 commits into
mainfrom
feature/core-contracts

Conversation

@mohdaquib

Copy link
Copy Markdown
Owner
  • Implemented core contracts model classes

mohdaquib added 8 commits May 4, 2026 10:32
- Added `A11yNode` data class to represent a node in the accessibility tree
- Implemented lightweight `Color`, `DpSize`, and `Rect` models to mirror Compose/Android APIs without external dependencies
- Established basic geometric and visual properties for accessibility scanning (bounds, touch targets, text color)
- Created `A11ySeverity` sealed interface with `Error`, `Warning`, and `Info` levels
- Implemented `Comparable` interface based on a defined `sortOrder` for each level
- Created `A11ySeverity` sealed interface with `Error`, `Warning`, and `Info` levels
- Implemented `Comparable` interface based on a defined `sortOrder` for each level
- Added `A11yRule` interface to define the standard structure for accessibility checks
- Implemented `BaseA11yRule` abstract class to provide common functionality for rule evaluation and issue creation
- Established a consistent pattern for generating `A11yIssue` objects with rule-level metadata
- Implemented `ScanResult` data class to encapsulate accessibility scan data
- Added computed properties for issue counts by severity and overall scan score
- Included basic scan metadata such as timestamp, node count, and rule pass/fail statistics
- Added `ScannerState` sealed interface to represent the lifecycle of a scan (Idle, Scanning, Complete, Error)
- Added `ScannerConfig` data class to manage accessibility rule thresholds and settings
- Added launcher icons and adaptive icon XMLs for the sample module
- Updated Detekt configuration:
    - Disabled `NewLineAtEndOfFile` and `FinalNewline` rules
    - Enabled `ForbiddenComment` rule for TODO, FIXME, and STOPSHIP
    - Relaxed `FunctionNaming` pattern to allow uppercase starting letters (supporting Composable functions)
- Added `detekt-formatting` plugin to the root build configuration
- Updated `detekt.yml` to use the correct `comments` property for `ForbiddenComment`
- Corrected the group ID for `androidx-compose-bom` in the version catalog
- Added launcher icon resources for the sample module
@mohdaquib mohdaquib merged commit b77ddf8 into main May 5, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant