Session
A Text Box Is Never Just a Text Box: Rich Editing Across Platforms
Most controls are manageable until text editing shows up. Then you inherit selection, caret movement, IME composition, touch handles, clipboard, formatting, spell checking, undo, scrolling, accessibility, and a startling number of opinions from every operating system involved.
I implemented RichEditBox for Uno's Skia targets, and I also maintain Storylines, my own writing app, which means I get to be both the person who ships the bug and the person it happens to. Rich text turned out not to be a control. It's a small platform hiding in a rectangle.
We'll follow a single keystroke the whole way down: input, document model, layout, render. Then the places that path comes apart - an IME caught mid-composition, a selection dragged with a finger rather than a mouse, an undo stack that has to agree with the platform's own idea of undo. I'll show what I managed to share across platforms and where I gave up and went native, which happened considerably more often than I expected going in.
If you thought a text box was the easy part, I have bad news and some quite good diagrams.
For UI and framework developers interested in text input, rendering and accessibility. Based on public Uno Platform RichEditBox work and lessons from maintaining Storylines. Preferred duration: 60 minutes including Q&A.
Dominik Titl
Software Engineering Intern on the .NET MAUI team at Microsoft
Prague, Czechia
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top