Building Interactive Async
UI with React 19 and Ariakit
Aurora Scharff
@aurorascharff
Aurora Scharff
Oslo, Norway
Senior Consultant
@ Crayon Consulting
React Certification Lead @
certificates.dev
What inspired this talk?
What inspired this talk?
Problem
Creating custom UI
components from
scratch
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
https://www.w3.org/WAI/standards-guidelines/wcag/
What inspired this talk?
Problem
Creating custom UI
components from
scratch
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
What inspired this talk?
Problem
Creating custom UI
components from
scratch
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
https://react.dev/reference/react/useTransition#perform-non-blocking-updates-with-actions
What inspired this talk?
Creating custom UI
components from
scratch
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
What inspired this talk?
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
https://tailwindcss.com/blog/tailwindcss-v4
What inspired this talk?
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
What inspired this talk?
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
https://ariakit.org/
What inspired this talk?
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
What inspired this talk?
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
Creating custom UI
components from
scratch
TailwindCSS
Meeting accessibility
requirements without
writing the code
yourself
Ariakit
Handling
asynchronous
operations smoothly
without excess code
React 19
Problem
Solution
What inspired this talk?
DEMO
What did we achieve…
…with Ariakit?
Accessible, interactive components
following WCAG 2 standard
Custom styling with data- and aria-
attributes using i.e., TailwindCSS
Declarative and composable component
code without boilerplate
…with React 19?
Streamlined data mutations using Server
Functions
Smooth interactions and simplified
loading states with Actions and
useTransition()
Instant user feedback and error rollback
with useOptimistic()
What did we achieve…
…with Ariakit?
Accessible, interactive components
following WCAG 2 standard
Custom styling with data- and aria-
attributes using i.e., TailwindCSS
Declarative and composable component
code without boilerplate
…with React 19?
Streamlined server communication using
Server Functions
Smooth interactions and simplified
loading states through Actions with
useTransition()
Instant user feedback and “error
rollback” with useOptimistic()
https://github.com/aurorascharff
/next15-account-selector
THANK YOU
@aurorascharff
aurorascharff.no
@aurorascharff

"Building Interactive Async UI with React 19 and Ariakit", Aurora Scharff

  • 1.
    Building Interactive Async UIwith React 19 and Ariakit Aurora Scharff @aurorascharff
  • 2.
    Aurora Scharff Oslo, Norway SeniorConsultant @ Crayon Consulting React Certification Lead @ certificates.dev
  • 3.
  • 5.
    What inspired thistalk? Problem Creating custom UI components from scratch Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19
  • 7.
  • 8.
    What inspired thistalk? Problem Creating custom UI components from scratch Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19
  • 9.
    What inspired thistalk? Problem Creating custom UI components from scratch Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19
  • 10.
  • 11.
    What inspired thistalk? Creating custom UI components from scratch Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 12.
    What inspired thistalk? Creating custom UI components from scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 13.
  • 14.
    What inspired thistalk? Creating custom UI components from scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 15.
    What inspired thistalk? Creating custom UI components from scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 16.
  • 17.
    What inspired thistalk? Creating custom UI components from scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 18.
    What inspired thistalk? Creating custom UI components from scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution
  • 20.
    Creating custom UI componentsfrom scratch TailwindCSS Meeting accessibility requirements without writing the code yourself Ariakit Handling asynchronous operations smoothly without excess code React 19 Problem Solution What inspired this talk?
  • 21.
  • 22.
    What did weachieve… …with Ariakit? Accessible, interactive components following WCAG 2 standard Custom styling with data- and aria- attributes using i.e., TailwindCSS Declarative and composable component code without boilerplate …with React 19? Streamlined data mutations using Server Functions Smooth interactions and simplified loading states with Actions and useTransition() Instant user feedback and error rollback with useOptimistic()
  • 23.
    What did weachieve… …with Ariakit? Accessible, interactive components following WCAG 2 standard Custom styling with data- and aria- attributes using i.e., TailwindCSS Declarative and composable component code without boilerplate …with React 19? Streamlined server communication using Server Functions Smooth interactions and simplified loading states through Actions with useTransition() Instant user feedback and “error rollback” with useOptimistic()
  • 25.
  • 27.