Переглянути джерело

Add philosophy document

For guidelines on component implementations.
master
TheoryOfNekomata 1 рік тому
джерело
коміт
a25a7f572d
1 змінених файлів з 36 додано та 0 видалено
  1. +36
    -0
      docs/00-philosophy.md

+ 36
- 0
docs/00-philosophy.md Переглянути файл

@@ -0,0 +1,36 @@
# Tesseract

## Design
- Tesseract components follow a strict and simple design philosophy.
- The aesthetics of the elements are rigid--any element which users can
interact with should be easily recognizable--they are determined by the
usage of the chosen accent color.
- The look and feel of the elements are designed to be less opinionated
as possible.

## Engineering
- Every component is a derivative of an existing HTML element,
thus any Tesseract component can substitute for any HTML element
with added capabilities like improved user experience and consistency.
- In case of overloaded HTML elements such as `<input>`, Tesseract
dissects the element into multiple components each having a single
defined behavior.
- Tesseract components gracefully degrade to their native counterparts,
allowing user agents without client-side JavaScript to still use the
components with minimal loss of functionality.
- Tesseract components render Web-compliant HTML and CSS, thus
making it resilient to future changes in the HTML/CSS specifications.
- Tesseract components are designed to be used with popular JavaScript
frameworks like React. Consumption of the components using the framework
of choice should be seamless, even with the use of form-handling libraries.
- Terminal-based browsers such as Lynx are used to test the components
for accessibility and graceful degradation.

## Accessibility
- Components are made to be accessible according to Web standards (WAI-ARIA).
- Focus handling is managed sensibly to facilitate functional
keyboard navigation.
- In cases where there are improvements in user experience, some
elements may have different markup and appearance. Tesseract
ensures components are still usable on most assistive technologies given
both versions of the user interface.

Завантаження…
Відмінити
Зберегти