Why Vertical Interfaces Are Difficult
Each challenge is an open Discussion on GitHub. I merge the strongest answers into the spec.
Should a sheet animate from screen geometry or reading direction?
In a horizontal interface a bottom sheet slides up, matching gravity and the screen edge. In a vertical, RTL interface, dismissing toward the bottom-right fights the reading direction. Which axis wins?
Discuss on GitHubHow should mixed CJK and Latin content behave in the same column?
A verse reference like 「창 1:1」 mixes hangul, an ASCII colon, Latin digits, and CJK brackets, each needing a different orientation. Unicode defines orientation per character class, but browsers and operating systems disagree.
Discuss on GitHubHow does text selection work when reading flows top-to-bottom, right-to-left?
Click-drag selection assumes a left-to-right baseline. The OS selection rectangle has to track RTL column order, column breaks, and tate-chu-yoko groups that behave as single units.
Discuss on GitHubWhere does the IME candidate window appear when input is vertical?
Input Method Editors show their candidate window horizontally by default. In a vertical context it must not cover the composition point, but the platform IME API rarely gives enough control to place it correctly.
Discuss on GitHubHow does drag-and-drop reordering work when list items are columns?
List reordering assumes a vertical stack of horizontal rows. Here the list is columns flowing right to left, so the reorder gesture flips: left-right drag changes position, not the usual up-down.
Discuss on GitHubHow should AI chat interfaces adapt to vertical writing systems?
AI chat UIs are built around horizontal bubbles alternating left and right. For a CJK user reading vertically, that pattern feels foreign. What would a native vertical AI chat look like?
Discuss on GitHub