An animated floating label TextInput component for React Native with built-in accessibility.
react-native-floating-labels is a React Native library that provides an animated floating label component for text input fields. It solves the problem of creating modern, accessible form inputs by automatically animating label text and handling screen reader compatibility out of the box. The component works across iOS, Android, and web platforms via react-native-web.
React Native developers building mobile or web applications who need accessible, animated form inputs with minimal setup. It's particularly useful for teams prioritizing WCAG compliance and consistent cross-platform behavior.
Developers choose this library because it offers built-in accessibility features that meet WCAG 2.1/2.2 AA and Section 508 standards automatically, reducing the manual work required for screen reader support. Its declarative API and full customization options make it flexible enough for any design system.
React Native Floating Labels Library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically configures screen reader labels, disabled states, password fields, and live region announcements to meet WCAG, Section 508, and React Native standards, reducing manual accessibility work.
Works on iOS, Android, and web via react-native-web with consistent behavior and accessibility features, as highlighted in the README's platform support.
Supports custom styles for container, input, and label via style, inputStyle, and labelStyle props, allowing flexibility for any design system without locking into a specific UI.
Exposes a ref handle with focus(), blur(), and clear() methods for programmatic input manipulation, as demonstrated in the imperative controls section.
Does not enforce focus indicators; developers must implement WCAG-compliant focus styles manually using onFocus/onBlur and inputStyle, as admitted in the accessibility section.
Includes deprecated props like 'password' and 'myRef' that can cause confusion and require updates in existing codebases, noted in the props table.
Focuses only on the floating label input component without built-in support for form-wide validation or state management, forcing extra integration work with libraries.