lusakasa / saka-key

A keyboard interface to the web
https://key.saka.io
MIT License
862 stars 70 forks source link

Breaks the Zimbra webclient #165

Open DamienCassou opened 6 years ago

DamienCassou commented 6 years ago

I use a private instance of Zimbra (the webmail client). When I deactivate saka-key, everything works fine. When I activate saka-key, as soon as I login, I get an error on the JS console and nothing happens:

SecurityError: The operation is insecure.
amn commented 6 years ago

This is most likely because Saka Key inserts a so-called "client" -- a div element to each page. I don't know why it requires that element, but some pages are programmed to do funny things and assume certain things (often things they shouldn't assume) and their assumptions crash and burn when there is suddenly a div element before the body element.

In any case, Saka Key isn't fully in the right here either -- html element cannot contain anything else but text nodes, head element, and the body element. Nothing else is allowed. A div element there is invalid markup (which works because browsers rather show you the page than tell you the page contains invalid markup).