Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Notion pages are so bad in those ways. Space/Shift+Space don’t work either, arrows do very much the wrong thing, they wrap all the text blocks with contenteditable (why!? it’s not even like I can edit the page!) which mangles at least Firefox’s link handling (it makes it not show the href in the status bar on hover) and Tab-based keyboard focus (it makes each block focusable, despite that being useless, and stops inline links from being focusable), …

It’s just awful. An accessibility disaster, and I don’t say such things lightly (normally I might just say it has serious problems).

If I come across much more usage of Notion, I’ll need to craft a user script to unbreak as much as I can. document.querySelectorAll('[contenteditable]').forEach(e => e.contentEditable = false) is a good start, fixing the focus issues. Unfortunately all their event handlers are on the root element, so you can’t just clobber them with document.body.outerHTML = document.body.outerHTML or similar but must figure out some other way of deregistering or breaking their event handlers.



It'd be cool if browsers had some way to display text and handle things like scrolling and linking to other pages. Really a big oversight when they were designing HTML. Too bad though, I guess every site will have to implement all of that from scratch in JS.


I think the problem here isn’t that, so much as that Notion is using their editing interface even when you’re clearly only reading the document and can’t edit it, and kinda whitewashing it a bit so that it’s not actually editable (with event handlers to stop the normal editing things working, turning the caret colour transparent, &c.), and that seems to mess things up even further. (I don’t use Notion, but I presume their editing interface works better when it’s not read-only, because otherwise no one would be willing to use it.) Of course what they should have done is just produced the HTML (preferably server-side, but even client-side would be tolerable) and left it alone, no contenteditable, event handlers.


Thanks for the explanation!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: