18 dépôts
Systems for managing keyboard focus and navigation flow between individual interactive UI elements.
Distinct from Focus Navigation Controllers: Focuses on element-level focus within a view rather than window-level navigation between screens.
Explore 18 awesome GitHub repositories matching development tools & productivity · Element Focus Controllers. Refine with filters or upvote what's useful.
Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a component-based architecture, a terminal rendering engine, and a declarative layout system to create console applications that run consistently across Windows, macOS, and Linux. The framework distinguishes itself with a comprehensive set of interactive console widgets, including data grids, hex editors, and hierarchical tree components. It supports advanced visual capabilities such as 24-bit True Color, Sixel image support, and a relative-coordinate layout system that adapts to ter
TUI system for controlling the navigation flow and focus movement between interactive elements.
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Defines how keyboard focus and navigation flow are managed between interactive UI elements.
react-native-video is a cross-platform video player component for React Native that enables the playback of local and remote video files using native platform decoders. It functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming formats with automatic bitrate selection and quality adaptation. The project is distinguished by its support for industry-standard digital rights management, including Widevine, FairPlay, and PlayReady, and a plugin-based architecture that allows for the injection of custom analytics or playback logic without modifying the core library. It a
Implements directional focus management and remote control input handling for television platforms.
This project is an accessible modal component for React applications. It provides a dialog window that overlays main content and manages keyboard focus to ensure compatibility with assistive technologies. The component integrates a portal wrapper to render modal content into a separate DOM node, avoiding layout nesting issues. It uses a focus-trapping system to restrict keyboard navigation to the dialog window and prevent users from tabbing into background page content. The library covers visibility control, custom portal mounting, and visual styling for dialog windows and overlays. It also
Stores a reference to the previously active element and returns focus to it after the modal closes.
Golden Layout is a framework-agnostic UI container and web window layout manager designed to organize application interfaces into a flexible grid of draggable and resizable multi-pane windows. It functions as a hierarchical grid system that arranges page elements into a tree of nested rows and columns to create complex professional interfaces. The system acts as a multi-window workspace orchestrator, allowing components to be detached from the main layout into independent native browser windows. It also serves as a serializable layout engine that captures the arrangement of user interface com
Implements logic to assign or remove focus from specific components to trigger focus and blur events.
Reach UI is an open-source library of accessible, low-level React components designed to serve as a foundation for building design systems and interactive user interfaces. It is an accessibility-first toolkit that handles core concerns like ARIA attributes, focus management, and screen reader support automatically, without requiring developer configuration. The library is built as a collection of standalone packages, each managing its own lifecycle and dependencies, enabling granular adoption and tree-shaking. Components use a polymorphic rendering pattern, accepting an as prop to render as
Controls and tracks keyboard focus within interactive elements like modals, menus, and complex widgets.
re-frame est un framework fonctionnel pour construire des applications monopages (SPA) en ClojureScript. Il fournit une base de données centralisée et immuable qui sert de source unique de vérité pour l'état global de l'application, imposant un flux de données unidirectionnel strict où les événements déclenchent des transitions d'état et des mises à jour de vue. Le framework se distingue par un graphe de signaux réactifs et un pipeline de middleware basé sur des intercepteurs. En traitant la logique applicative comme une séquence d'événements pilotés par les données et d'effets de bord déclaratifs, il découple la logique métier de la couche de vue. Cette architecture permet aux développeurs de gérer des transitions d'état complexes et des opérations externes via des fonctions pures, garantissant que les effets de bord sont exécutés par un interpréteur séparé plutôt que par des appels impératifs. Le système inclut une suite complète de capacités pour gérer l'architecture applicative, notamment la dérivation de données réactives, la réconciliation de vue basée sur les abonnements et la gestion d'état pilotée par les événements. Il prend en charge des flux de développement avancés tels que le traçage d'événements, la mise en point d'état et la possibilité de simuler (stub) des effets de bord pour des tests isolés. Le projet est conçu pour une intégration avec React, utilisant la réconciliation du DOM virtuel pour mettre à jour efficacement les interfaces utilisateur. Il fournit un ensemble robuste d'utilitaires pour gérer les préoccupations transversales, les graphes de flux de données complexes et coordonner les opérations asynchrones au sein d'un pipeline d'événements séquentiel et prévisible.
Sets focus to a specific HTML element after rendering to ensure the element exists before the imperative operation.
Ce projet est un canevas visuel piloté par l'IA et un framework de tableau blanc collaboratif. Il fonctionne comme un moteur de dessin vectoriel personnalisable et un outil pour convertir des croquis d'interface et des wireframes dessinés à la main en code fonctionnel via l'intelligence artificielle. Le système se distingue par l'intégration d'agents IA capables de lire, modifier et générer des diagrammes visuels directement sur le canevas. Il fournit également un éditeur de workflow basé sur des nœuds pour construire des pipelines d'automatisation et des flux de traitement de données en connectant des composants multimodaux. La plateforme couvre un large éventail de capacités, incluant la collaboration multijoueur en temps réel avec suivi de présence, un canevas infini avec rendu accéléré par GPU, et une suite complète d'outils de manipulation et d'alignement d'objets. Elle implémente également les standards d'accessibilité web et fournit une interface scriptable pour définir des formes personnalisées et des contrôles de canevas programmatiques.
Tracks and restores keyboard focus to active elements after modal interactions are dismissed.
OrionTV est un framework d'application de télévision multiplateforme et un client vidéo API externe. Il fonctionne comme une application de lecture vidéo conçue pour les écrans de télévision, utilisant un système qui localise et diffuse du contenu en interrogeant des interfaces API externes plutôt qu'en hébergeant des fichiers multimédias localement. Le projet utilise Expo pour générer des binaires d'application compatibles pour plusieurs systèmes d'exploitation TV à partir d'une base de code unique. Son interface est spécifiquement optimisée pour les grands écrans et se navigue via la gestion du focus de la télécommande. Le framework couvre des capacités de recherche vidéo tierce, d'intégration de médias externes et de déploiement multiplateforme. Il exploite React Native pour rendre une interface utilisateur qui adapte sa mise en page et son comportement aux différentes plateformes TV.
Implements a focus management system optimized for D-pad and remote control navigation on TV screens.
Open-UI est un ensemble de spécifications standards pour l'UI web et une bibliothèque de composants UI standardisés. Il fournit des définitions techniques pour des composants UI universels, des comportements et des exigences d'accessibilité conçus pour assurer la compatibilité inter-navigateurs via une série de propositions de langage web. Le projet propose un polyfill d'accessibilité web et des polyfills de contrôle extensibles qui fournissent des fonctionnalités de contrôle UI modernes dans des environnements dépourvus de support natif par le navigateur. Il inclut une suite de compatibilité navigateur pour vérifier que les composants répondent aux exigences comportementales et d'accessibilité définies. La bibliothèque couvre un large éventail d'éléments d'interface, incluant des comboboxes recherchables, des systèmes de menus interactifs, des entrées de plage à plusieurs poignées et des menus de sélection personnalisables. Elle inclut également des composants de mise en page et de navigation tels que des accordéons, des modales, des fils d'Ariane et des carrousels. Le système utilise l'association de comportement déclarative et la répartition d'actions basée sur les événements pour exécuter la logique des composants, tout en exposant les états internes via des pseudo-éléments CSS pour le stylage visuel.
Controls whether an element and its subtree are keyboard-focusable while retaining other forms of interactivity like mouse clicks.
SmartTubeLegacy is an open-source YouTube client for Android TV and set-top boxes. It functions as a media player optimized for large screens, providing a specialized interface for streaming video content. The application enables ad-free media consumption by bypassing advertising and sponsored segments. It supports high-resolution streaming up to 4K, utilizing hardware-accelerated video decoding to optimize performance on television hardware. The system includes a leanback interface designed for navigation via standard television remote controllers. It also features internal account manageme
Implements a focus management system optimized for D-pad and television remote control navigation.
RmlUi est un moteur de rendu d'interface utilisateur multiplateforme et une bibliothèque middleware qui permet la création d'interfaces utilisateur en utilisant un sous-ensemble de HTML et CSS. Il fonctionne comme une couche agnostique de rendu conçue pour intégrer la mise en page et le stylage standard du web dans des moteurs de jeu personnalisés et des applications embarquées. Le framework se distingue par son intégration de Lua pour la logique dynamique et le contrôle, ainsi qu'un kit d'outils spécialisé pour le rendu d'images SVG et d'animations Lottie. Il utilise un backend de rendu enfichable qui découple la génération de géométrie de l'affichage final, lui permettant de générer de la géométrie texturée pour divers pipelines graphiques. Le système couvre un large éventail de capacités, incluant un moteur de mise en page en boîte (box-model), un moteur de style en cascade et une liaison de données pour synchroniser les modèles avec les vues. Il fournit une gestion complète des entrées pour la souris, le clavier et le tactile, ainsi que des services d'internationalisation pour la traduction de texte basée sur la locale. Les fonctionnalités supplémentaires incluent la mise à l'échelle haute résolution (DPI), la composition alpha basée sur les couches et un ensemble de composants interactifs comme des curseurs de plage et des menus déroulants. La source peut être compilée en binaires WebAssembly pour une exécution dans les navigateurs web.
Provides controls to determine if an element can receive focus or accept user-initiated click events.
toolong est une visionneuse de logs de terminal et un gestionnaire de logs TUI conçu pour surveiller les flux de logs en direct et naviguer dans de grands fichiers de logs. Il fonctionne comme un agrégateur de logs et un formateur JSONL, capable de fusionner plusieurs fichiers de logs en une seule vue chronologique en détectant automatiquement les horodatages. L'application prend en charge la visualisation de données structurées en affichant joliment les fichiers JSONL et en appliquant une coloration syntaxique aux modèles de logs de serveurs web courants. Elle gère les données à grande échelle efficacement via des vues défilantes de taille virtuelle, permettant aux utilisateurs d'ouvrir des logs compressés ou des fichiers de toute taille sans charger l'intégralité du document en mémoire. Le système inclut des capacités pour suivre les flux de logs (tailing), effectuer une correspondance de texte floue (fuzzy matching) et gérer la navigation via un modèle d'écran basé sur une pile. Il fournit également une palette de commandes pour découvrir les fonctions de l'application et prend en charge des éléments interactifs comme des liens cliquables et des infobulles.
Programmatically shifts input focus between individual interactive UI elements.
This project is a jQuery plugin that provides HTML5 placeholder emulation for input and textarea fields. It functions as a compatibility library to ensure consistent placeholder behavior across different web browsers, specifically those that do not natively support the HTML5 placeholder attribute. The utility extends the functionality of DOM input fields by modifying how form elements display hint text before a user provides input. It integrates as a browser compatibility layer to provide legacy browser support for modern HTML5 form features. The implementation covers browser feature detecti
Toggles between showing placeholder hints and allowing user input by listening for focus and blur events.
This project is a native Android TV Bilibili client and third-party video player designed for streaming and browsing video content on large screens. It functions as a television-centric media application that enables users to access Bilibili content through an interface optimized for distance and remote control navigation. The application implements remote-optimized navigation to map hardware input to UI focus patterns and utilizes adaptive bitrate switching to adjust video quality based on network conditions. It employs a reactive state management architecture and a type-safe network layer t
Implements a focus management system optimized for D-pad and remote control navigation on television screens.
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Demonstrates how to detect when a user enters or leaves a form field using focus and blur events.
This project is an Apple TV video application and API client for Bilibili, designed to stream video content with support for HDR and subtitles. It serves as a specialized media player that integrates with Bilibili services to provide video discovery and user account management. The application features a real-time danmaku renderer that overlays scrolling user comments on top of video playback. It includes a plugin-based player system for adding custom overlays and behavioral modifications, as well as tools for adjusting playback speed and skipping sponsored segments. The system covers adapti
Manages user interaction through a structured tree of focusable elements designed for remote-control navigation.
This library provides a flexible dropdown menu component for building single and multi-select inputs within web applications. It is designed to support accessible data entry through keyboard navigation and screen reader compatibility, while maintaining interface responsiveness when handling large datasets. The component distinguishes itself through a high degree of configurability, allowing developers to replace default templates, icons, and labels with custom visual elements. It utilizes virtual scrolling to render only visible items, ensuring performance remains consistent even when managin
Exposes internal input elements to the parent scope to enable programmatic management of keyboard focus and navigation states.