Skip to content

feat: Improve form accessibility (#38) and add CI coverage (#39) - #143

Open
olatechy0 wants to merge 1 commit into
Core-Foundry:mainfrom
olatechy0:main
Open

feat: Improve form accessibility (#38) and add CI coverage (#39)#143
olatechy0 wants to merge 1 commit into
Core-Foundry:mainfrom
olatechy0:main

Conversation

@olatechy0

@olatechy0 olatechy0 commented Jul 30, 2026

Copy link
Copy Markdown

Closes #38 - Form accessibility improvements:

  • ContributorProfileCard: wrap in , add id/htmlFor/aria-* attributes, role=progressbar, aria-live region
  • BountyFilters: wrap in , add aria-live filter count, aria-label on search and selects
  • TaskFilter: wrap in , add aria-live filter count, inputMode hints, aria-label on selects
  • Add accessibility test suites for all three components

Closes #39 - CI coverage integration:

  • Add @vitest/coverage-v8 dependency
  • Configure v8 coverage provider with lcov/text/html reporters
  • Add test:coverage script to package.json
  • Add coverage generation step to frontend-ci.yml workflow

What

Why

Closes #38

How

Testing

Breaking Changes


Checklist

General

  • Branch is up to date with main
  • PR title follows Conventional Commits format (e.g. feat: add reputation system)
  • PR description is complete with issue reference (Closes #<issue-number>)
  • One logical change per PR (no unrelated changes bundled in)

Testing

  • Tests added or updated to cover the changes
  • All tests pass (cargo test for contracts, npm run build for frontend)
  • No compiler warnings (cargo clippy -- -D warnings)

Documentation

  • Public API changes are documented with /// doc comments (Rust) or JSDoc (TypeScript)
  • CONTRIBUTING.md, README.md, or other docs updated if needed
  • CONTRACT_API.md updated if contract interface changed

Code Quality

  • Code follows the project style (cargo fmt / ESLint)
  • No any types introduced in TypeScript
  • No hardcoded secrets, keys, or environment-specific values

Smart Contract (if applicable)

  • require_auth() called on all state-changing operations
  • Events emitted for all state changes
  • Storage keys don't collide with existing keys
  • Deadline and input validation is complete
  • No unintended token transfer paths introduced

Frontend (if applicable)

  • Components are under 150 lines
  • UI is responsive and accessible
  • Screenshots or recordings included for visual changes

Core-Foundry#39)

Issue Core-Foundry#38 - Form accessibility improvements:
- ContributorProfileCard: wrap in <form>, add id/htmlFor/aria-*
  attributes, role=progressbar, aria-live region
- BountyFilters: wrap in <form role=search>, add aria-live filter
  count, aria-label on search and selects
- TaskFilter: wrap in <form role=search>, add aria-live filter count,
  inputMode hints, aria-label on selects
- Add accessibility test suites for all three components

Issue Core-Foundry#39 - CI coverage integration:
- Add @vitest/coverage-v8 dependency
- Configure v8 coverage provider with lcov/text/html reporters
- Add test:coverage script to package.json
- Add coverage generation step to frontend-ci.yml workflow
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.

ci: integrate automated code coverage reports Improve Accessibility of Forms

1 participant