2. It seems a bit weird to be concerned about UI patterns if you earnestly want this component to do its job.
3. If it's that important, the Escape key event can be added after DOMContentLoaded. Warn content authors to not overuse the component, and it would be fine. You can still have the triple-Shift key event for those cases that they specifically call out.