Version 30 (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 Summary Info grid at top of sidebar, implemented using XBL binding elements to enable reuse
  • 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 Rule Category view with Rule Results tree, implemented using custom tree view and including sort-by-column functionality and "Default Sort" button

Planned Prototypes


Overview: Adds WCAG Guidelines summary table in Summary view


Overview: Adds actual data for Rule Category and Summary views

  • add in use of the Evaluation Library
  • handle changes to evaluation preferences
  • utilize overlays and view controller modules


  • 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)