Version 38 (modified by nhoyt, 5 years ago) (diff)



This section includes descriptions of AInspector for Firefox prototypes, each of which meets some basic set of interaction or user interface objectives.

At the bottom of this page under Attachments are links to prototype XPI files.

Completed Prototypes


Overview: Tests the use of toolbars within the sidebar, in the absence of a separate toolbar.

  • test using a sidebar with self-contained toolbars
  • test using keyboard shortcut for toggling sidebar
  • test and debug shell script (in utilities) for programmatic creation of XPI files
  • tagged as prototype-baseline-00


Overview: Tests the use of overlays for reusable XUL components; tests the use of utility functions in shared modules, especially the Progress Listener for detecting page loads. (Based on prototype-baseline-00)

  • test and debug logging.js (in utilities)
  • test and debug inspection.js (in utilities)
  • add use of progress.js (in utilities) for handling page load events and browser tab switching (also works when new browser window is opened)
  • add summary widget that displays the current URL after a page has loaded, and a progress meter during page loads
  • test the use of overlays for reusable widgets (summary widget)
  • create application framework/template that indicates where in the code namespace initialization, logging configuration and event listener addition should take place
  • tagged as prototype-baseline-01


Overview: Adds an independent AInspector Toolbar (distinct from the toolbar within the sidebar) and manages view selection state across the toolbar buttons. (Based on prototype-baseline-01)

  • add a separate toolbar with buttons for controlling the view within the sidebar
  • ensure that if sidebar is displayed, toolbar is also displayed (not necessary vice versa: okay to display toolbar by itself)
  • add keyboard shortcut to toggle AInspector Toolbar, and register is with toolbar element (shows up in View > Toolbars menu)
  • tagged as prototype-baseline-02


Overview: Adds an independent AInspector Menu (distinct from the Views menu at the bottom of the sidebar) and manages its checked state. (Based on prototype-baseline-02)

  • add top-level AInspector menu
  • add use of command elements to enable sharing of command actions and labels
  • add ai-commands.js as an overlay, which contains commandset and keyset used both at top-level and in sidebar menu
  • add functions for setting state of Tools menuitem: AInspector Menu
  • tagged as prototype-baseline-03


Overview: Simplifies the interaction model by providing only one way of selecting AInspector Toolbar, Sidebar and Menu from top menubar. (Based on prototype-baseline-03)

  • simplify Tools menu (in main menubar) and Options menu (in sidebar's bottom toolbar) menus
  • abandon attempts to manage state of Views menu in sidebar due to insufficient API/documentation and API defects
  • move modules/ainspector-common.js to chrome/content/ai-common.js
  • tagged as prototype-baseline-04


Overview: Replaces the sidebar toolbar (at bottom) with a row of buttons, some of which have type=menu. (Based on prototype-baseline-04)

  • use onpopupshowing attribute to manage selection state of checkbox and radio menu items associated with sidebar menu buttons
  • tagged as prototype-baseline-05


Overview: Adds Preferences functionality and customization of keyboard shortcuts. (Based on prototype-baseline-05)

  • allow customization of keyboard shortcuts: toggle sidebar; toggle toolbar
  • set preference for whether to show or hide AInspector menu
  • tagged as prototype-baseline-06

Notes: Learned more about XUL interaction model and document scoping. See log for Revision 59 in Subversion for details.


Overview: Adds the Evaluation prefpane to extension preferences. (Based on prototype-baseline-06)

  • adds preferences and placeholder handler functions related to all of the user options for evaluation
  • reorganized code to reflect the distinctly different preferences branches: general and evaluation
  • intermediate version tagged as prototype-baseline-07 and final version tagged as prototype-baseline-08


Overview: Resolves window/component interaction problems caused by using shared global namespace to store component references. (Based on prototype-baseline-07)

  • removes the toolbar and main menu as extension options
  • completely reorganizes the namespacing related to the sidebar and the extension as a whole
  • tagged as prototype-baseline-09


Overview: Adds Summary view with Rule Categories summary table and summary grid at top, and Rule Category views with summary grid and Rule Results table, implemented using custom tree view (Based on prototype-baseline-08)

  • moved Views button to top right of sidebar
  • added Rule Category view with Rule Results table, implemented using a custom tree view. which includes sort-by-column functionality and a "Default Sort" button
  • added Summary view with tab panels for viewing summary results by Rule Categories or WCAG Guidelines
  • added Rule Categories summary table in Summary view, implemented using a grid element containing labels with class text-link and summary-data binding elements
  • added Summary Info grid at top of each view (summary or detail), implemented using XBL binding elements to enable reuse
  • added use of deck element to manage view types
  • tagged as prototype-baseline-10


Overview: Integrates data from the OAA Evaluation Library; adds WCAG Guidelines summary table in Summary view and Selected Rule information in Category view. (Based on prototype-baseline-10)

  • added filtered rule results data in summary and rule category views
  • added real-time updates to results data when any evaluation preference is changed
  • added WCAG Guidelines table in the Summary view
  • added user preference for display of WCAG Guidelines in the Views menu
  • changed styling of summary tables (implemented as grid) to harmonize with style of Rule Results table (custom tree view with sortable columns)
  • changed behavior of sidebar in tabs: displays only for tabs in which the sidebar was explicitly opened
  • changed behavior when launching Firefox or opening a new browser window: AInspector Sidebar is automatically closed if previously opened
  • tagged as prototype-baseline-11


Overview: Focused on navigation scheme, currently consisting of Summary and Category/Guideline, with Rule Details to be implemented. (Based on prototype-baseline-11)

  • added Back button with left arrow icon
  • added SC column (WCAG Success Criteria) to Rule Results table
  • removed all code relating to Basic Rules
  • added auto-install of AI button in Navigation toolbar
  • added Highlight mode selector widget (combination of description and menulist)
  • modified Summary tabbox to persist the selected tab
  • changed label of first column in Summary table from Name to Category or Guideline (depending on selected tab)
  • tagged as prototype-baseline-12


Overview: Adds the third-level views for Rule Details, which includes Element Results. (Based on prototype-baseline-12)

  • added Rule Details view with special handling for (a) page load, (b) new tab selected and (c) toggling sidebar or opening new window.
  • TBI: add Element Results tabpanel
  • TBI: add element highlighting on current page
  • TBI: add Rule Info tabpanel