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.

Current Prototype


Overview: Reimplemented Summary tables as trees; prompt for delay functionality for 'Rerun Evaluation' button; improved keyboard support and focus management; changes to preferences. (Based on prototype-baseline-15)

Release Notes for v0.16

Completed Prototypes


Overview: Adds Inspect Element button in Rule Details views to invoke Firefox Inspector on element selected in Element Results table. (Based on prototype-baseline-14)

Release Notes for v0.15


Overview: Adds the Element Results table in the Rule Details view. (Based on prototype-baseline-13)

  • added Element Results table/tree with new sorting functionality (sort order of secondary columns is independent of primary sort order)
  • added element highlighting with improved scroll into view behavior and performance
  • added result severity images to page highlighting

Release Notes for v0.14


Overview: Adds the third-level view Rule Details, which includes the Element Results and Rule Information tabs. (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.
  • added Rule Information tabpanel with XHTML-formatted text content that can be copied to clipboard
  • tagged as prototype-baseline-13


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