Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions docs/planAccessibilityAndSustainability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Plan for accessibility and sustainable development

## Accessibility

We aim to develop the application with a focus on WCAG and accessibility. The goal is to make the website usable with a keyboard, screen reader, and across different screen sizes.

Accessibility measures we will follow during development:

- Use semantic HTML elements where appropriate, such as `search`, `article`, headings, and lists.
- Provide clear `label` elements for form inputs.
- Provide descriptive alternative text for images.
- Use sufficient color contrast and avoid using color alone to communicate important information.
- Maintain a logical heading structure.
- Create a responsive interface that works on both small and large screens.
- Check accessibility throughout development and test that the application can be navigated and used with a keyboard.

The current implementation already uses semantic search with an associated label, alternative text for flag images, and a semantic list for displaying countries.

## Sustainable Development

We aim to reduce unnecessary resource usage without negatively affecting the user experience.

Sustainable development measures we will follow:

- Keep the application simple and avoid unnecessary dependencies.
- Limit the amount of data loaded and processed to what is actually needed.
- Avoid unnecessary API calls and network traffic.
- Use lazy loading for images so they are loaded only when needed.
- Reuse components and keep the codebase clean and maintainable.
- Use Vite to optimize the production build.
- Consider image size and format to reduce unnecessary data usage.

We also consider maintainability an important part of sustainable development. A simple component structure, TypeScript, and consistent formatting and linting make the application easier to maintain and extend without unnecessary rewriting.