|
123456789101112131415161718192021222324252627282930313233343536 |
- # 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.
|