←back to thread

303 points vyrotek | 8 comments | | HN request time: 0.001s | source | bottom
Show context
judah ◴[] No.45894501[source]
This is interesting for sure. Kudos for bringing this capability to the web!

One issue the demos reveal is, it doesn't _feel_ like the web. That is, I can't hit Ctrl+F to find text on a page. I can't select text with my cursor. I can't copy the address of a hyperlink. On my phone, I can't hard press on an image and share it to others. Screen readers can't handle it. I can't press a shortcut key to make everything larger.

These all may seem pedantic, but they contribute to the feeling "this is not the real web."

This is the same problem with Java applets in the late '90s, Flash and Silverlight in the early 2000s. They are islands of richness within a web page, but those islands are, well, opaque to browsers, search engines, and virtually all web tooling.

replies(14): >>45894544 #>>45894696 #>>45894702 #>>45894958 #>>45895158 #>>45895191 #>>45896100 #>>45896594 #>>45896771 #>>45897067 #>>45897513 #>>45899135 #>>45899880 #>>45902162 #
a2128 ◴[] No.45894702[source]
Not using the standard web stuff usually means it's also an accessibility nightmare, tried using a screen reader on the demo and it doesn't work at all unfortunately
replies(3): >>45894824 #>>45895986 #>>45898737 #
afavour ◴[] No.45894824[source]
I wonder if at any point browsers will offer a low level accessibility API for you to manually describe components. I’ve worked in the web for years and I’m a big believer but it’s also indisputable that Canvas offers more performant UI rendering than HTML when done correctly. I don’t think it should ever be used for web “documents” but web apps already bastardize HTML and CSS to achieve their aims anyway. Accessibility remains the missing component.
replies(2): >>45894964 #>>45897825 #
1. shakna ◴[] No.45894964[source]
As far as standards is concerned, that API is ARIA [0].

W3C already offers guides for accessibility and canvas. But no one who opts for canvas turns around and remembers to do their landmarks.

replies(2): >>45895531 #>>45899492 #
2. afavour ◴[] No.45895531[source]
Then I’m showing my ignorance… how do you add ARIA landmarks to Canvas elements?
replies(1): >>45895539 #
3. kg ◴[] No.45895539[source]
You would create transparent DOM elements in the right places with the right ARIA attributes and content, I suspect.
replies(2): >>45896125 #>>45896630 #
4. afavour ◴[] No.45896125{3}[source]
I guess that’s what I’d like to see a better API for, then. Mapping on click events for invisible elements feels like a hack.
replies(2): >>45896440 #>>45898038 #
5. pmontra ◴[] No.45896440{4}[source]
It's HTML imagemaps from the 90s, when we could not style buttons and navbars where GIFs with links in the right places. Browsers still have the code to render them.

https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

https://caniuse.com/mdn-html_elements_map

6. thayne ◴[] No.45896630{3}[source]
That's possible. But it is difficult to get right, and can have poor performance if you you have many such elements.
7. MrGilbert ◴[] No.45898038{4}[source]
OTH, we are still failing to provide a bare minimum for accessibility. Heck, we even needed a law (in the EU, that than needed to be translated to national law), so that companies providing crucial end user services would care about accessibility.
8. zigzag312 ◴[] No.45899492[source]
> But no one who opts for canvas turns around and remembers to do their landmarks.

Not completely true. Flutter has been adding some accessibility for web canvas target. [1]

I think Avalonia is in in the make it work phase. Accessibility will probably be added in the make it right phase.

[1] https://docs.flutter.dev/ui/accessibility/web-accessibility