Ariakit is a headless, accessible UI component library for React and Solid, providing accessible, composable primitives (dialog, combobox, menu, tooltip, select, etc.) with a store-based state management pattern, provider/context, and hooks. It also includes a styled UI layer (Ariakit UI) with CSS variants. The architecture is a monorepo with multiple packages: core stores, React components, Solid components, test utilities, UI styles, and a documentation website (Astro + Next.js). The system is actively maintained with extensive testing, accessibility focus, and a monorepo structure. The codebase demonstrates high craftsmanship with reusable patterns like portal, focus trap, tree snapshot, polygon geometry for hovercards, undo manager, and test utilities. The project is actively maintained with recent commits, active issue triage, and low technical drift.
This repository is the `@testing-library/jest-dom` library, a widely-used collection of custom Jest matchers for asserting the state of DOM elements in tests. It provides over 30 matchers such as `toBeVisible`, `toBeDisabled`, `toHaveAttribute`, `toHaveFormValues`, and `toHaveAccessibleName`, enabling declarative and readable test assertions. The library is designed to work with Jest, Vitest, Bun, and any Jest-compatible `expect` interface, with dedicated entry points for each. It leverages dependencies like `aria-query` and `dom-accessibility-api` to support accessibility-related matchers, and `@adobe/css-tools` for CSS style assertions. The codebase is well-structured, with each matcher in its own file, a shared utility module, and a factory pattern for generating query-based matchers (`toContainAnyBy*` / `toContainOneBy*`). Comprehensive tests and TypeScript type definitions are included. The library is actively maintained with frequent releases and a large contributor base.
Headless UI is a library of completely unstyled, fully accessible UI components for React and Vue. It provides behavior-only primitives like Combobox, Listbox, Dialog, Popover, Tabs, RadioGroup, and Switch, with no built-in styling, allowing consumers to own the visual layer. The architecture is a monorepo with parallel React and Vue packages that share identical component APIs, test suites, and accessibility patterns, ensuring feature parity across frameworks. Components use render props (React) and slots (Vue) to expose state like open, active, selected, and disabled, plus an `as` prop for polymorphic rendering and a Transition component for enter/leave animations. The codebase is heavily tested with thousands of test cases covering keyboard navigation, focus management, ARIA attributes, form integration, and edge cases like dynamic children and virtual scrolling. Key entry points include the Combobox, Listbox, and Dialog components in both React and Vue, along with shared test utilities for accessibility assertions and interaction simulation. The library is actively maintained with a focus on accessibility-first design, headless composition, and cross-framework consistency.
The w3c/html-aria repository maintains the ARIA in HTML W3C specification — a normative document defining which ARIA roles, states, and properties are permitted on each HTML element, plus the implicit ARIA semantics of native HTML. It is not a conventional application; it is a standards artifact with engineered supporting infrastructure: a ReSpec-based spec source (`index.html`) auto-published to gh-pages via GitHub Actions, a corpus of standalone HTML conformance test pages in `tests/`, and a cross-tool implementation report in `results/implementation-results.html`. The repo functions as the authoritative rulebook that accessibility conformance checkers (Nu HTML Validator, axe-core, IBM Equal Access, ARC Toolkit) implement against, so its 'production output' is normative rules consumed by validator software. The test corpus encodes each normative rule as a discrete, self-contained HTML page with explicit pass/fail expectations — for example, pages verifying that `aria-hidden="true"` is forbidden on focusable elements, that `aria-rowspan` must not coexist with a native `rowspan`, and which roles are allowed on `button`, `summary`, `img`, and `li`. The implementation report tracks, per rule and per vendor tool, whether the rule is implemented (yes/partial/missing), linking to tool-specific GitHub issues. The contribution workflow enforces cross-repo coordination: normative changes require a corresponding web-platform-tests PR and coordination with checker maintainers before merging, which is an unusually well-governed process for a spec repository. Maintenance is steady: commits continue through late 2026, the implementation report was updated in March 2026, Dependabot monitors GitHub Actions, and the W3C auto-publish pipeline runs on every push. Technical drift is low — the spec deliberately tracks the WHATWG HTML Living Standard, deprecates (rather than abandons) outdated ARIA features, and is built on the actively maintained ReSpec toolchain. The main fragility is external: implementation gaps in vendor checkers are documented openly in the report, and cross-repo synchronization with WPT and checker projects creates coordination risk, but the repo itself is current and professionally curated.
This repository is a web component library focused on accessibility, providing custom HTML elements for building inclusive web applications. It implements alternative input methods including standard mouse/keyboard/touch and pose/body tracking using TensorFlow's PoseNet model. The architecture follows web component principles using LitElement and Polymer, with a clear hierarchy of base classes (AbstractInputElement, AbstractUIElement) and specialized components for various UI patterns. The library emphasizes accessibility features like ARIA support, keyboard navigation, and screen reader compatibility. The codebase demonstrates strong craftsmanship in its utility implementations, particularly in coordinate transformation handling (mouse-position.ts), vector mathematics (vec2.ts), and general-purpose helper functions (utils.ts). The webcam integration (webcam.ts) shows proper resource management and lifecycle handling. However, the library suffers from significant technical drift due to outdated dependencies (lit-element 0.5.2, tfjs 0.13.0, typescript 3.1.6), which would require substantial updates for modern use. While the core architectural patterns are sound, the dependency versions limit practical reusability without migration work.