FLOE-329: Keyboard usability issue with page reload at each language change

Metadata

Source
FLOE-329
Type
Improvement
Priority
Major
Status
Closed
Resolution
Duplicate
Assignee
N/A
Reporter
Cindy Li
Created
2015-05-11T12:17:08.445-0400
Updated
2015-11-12T14:43:40.144-0500
Versions
N/A
Fixed Versions
N/A
Component
  1. First Discovery

Description

Each language change on the language panel causes the page to reload. After the page reload, the focus disappears on the panel. It should remain at wherever it was before the page reload.

Comments

  • Antranig Basman commented 2015-05-11T12:26:50.198-0400

    There's a number of possible approaches to this. One approach involves staying with our current implementation, and persisting the focus state in the component's model, together with any other navigational UI state that we will probably need to persist too. If we go with this, it might be easier to have merged in the framework updates associated with FLUID-5249, which will make it easier to identify components and DOM elements in a stable way. Another approach would involve a more "light" model of reinstantiation - we could keep the current page but destroy and then recreate the component tree - this would most likely run into the same kind of focus issues.

    Finally we can consider approaches based on a different model of locating message bundles. At the cost of a huge amount of failed I/O at startup, we could eagerly try to load every message bundle for every panel in every locale - and then keep this in a "mega-model" from which we could fetch just the required elements. This would require changes in both the framework and the preferences framework. It would seem best if we started to go with this approach that we should start to consider some kind of build-time step which would "compile" all the messages bundles (and perhaps various other resource files required by a prefs editor) into a single resource file.

  • Cindy Li commented 2015-11-12T14:43:40.142-0500

    This report has been copied to the GPII bug tracker: https://issues.gpii.net/browse/GPII-1405 and all activities should be carried on there.