Version 34 (modified by nhoyt, 6 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
  • tagged as prototype-baseline-07


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-08


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


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

Planned Prototypes


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

  • added SC column (WCAG Success Criteria) to Rule Results table
  • add Rule Details view and Element Results table
  • add in use of highlighting module


  • create tree and list view widgets based on overlays
  • add code that uses OAA Evaluation Library API to populate tree and list widgets (in particular, get rules in rule category)