diff --git a/docs/planAccessibilityAndSustainability.md b/docs/planAccessibilityAndSustainability.md new file mode 100644 index 0000000..6d9c4c3 --- /dev/null +++ b/docs/planAccessibilityAndSustainability.md @@ -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.