- What’s the minified bundle size of the component/library?
- For a given component library, can we just import a single module if we only need that one component?
import { Component1 } from ‘widgets/libs/component1’;
instead of
import * as components from ‘widgets’;
- Does the component render to Semantic HTML? For example, a slider should emit an
<input type=”range” />
element, not a<div/>
- Does it emit
aria-
attributes?
- Is it open source?
- Especially important for organisms (e.g.: grid)
- Does it use any direct-DOM manipulation (jQuery, Zepto)
- Does it only repaint the parts that changed?
- Is it open source?
- Is it pre-release? How much API churn is to be expected?
- Is it from a big company?
- If OSS, how active is development? Do they have clearly defined roadmap or milestones?
Controlled vs. Uncontrolled?
Server rendering?
Here are my thoughts:
Accessibility
I would say that the level of accessibility that is designed into the component is dependent on whether Section 508 is being upheld. There should always be some level of accessibility at a minimum.
Maintainability
How many other libraries does the component require (if any)? Having to build on top of other libraries decreases the maintainability. For example multiple, overlapping style-sheets.
(NEW) Mobility