So far the design follows: -- Event listener is attached to the MINIMO XUL document; We listen for event equals to "focus". The SNAV toggling function happens when focus goes to the content area, browser content. So far we trigger SNAV on, when we get a "focus" event with target's nodeName="#document". Every other case, so far, is a reason to not be in SNAV mode. Our current acessibility solution does not work with SNAV on that s why we need this exclusive mechanism.
We currently toggle SNAV ON/OFF using pref service. This should be revisited, we may need some other interface.