Abstract

Joomla! 1.5 made great strides in accessibility in the frontend. It is important that Joomla! 1.6 do the same for the backend. The primary goal of this project is to bring the Administrator into compliance with accessibility standards. An accessible administrator template will be created along with an accessible menu module. This will also entail work on the refactoring of the backend.

Synopsis

  • Create an accessible administrator template
  • Create an accessible administrator menu module
  • Complete the following MVC work on given backend components:
    • Move all remaining HTML code to layout files
    • Make those layout files accessible
    • Make the Javascript unobtrusive and accessible
    • Implement the new forms engine in the layout files with the corresponding work in models files
  • Change the existing administrator template and the new accessible admin template as necessary to work with the new MVC'd layout files

Benefits to the Community

Having an accessible backend out of the box would open Joomla! up to a wider audience. People with disabilities need to access the backend just as much as they do the frontend. Accessibility is required in some projects and that will only increase with time.

Currently there are few templates for the backend. This project would enable developers to create a backend that fits better with the look and feel of the frontend. Because of all the documentation that exists using the current backend, the basic structure will remain the same.

Deliverables

Accessible Administrator template

The deliverable will be an Administrator template with, if necessary, override template files for the Administrator/components views/tmpl files which will pass standard accessibility guidelines for WCAG/508. This includes, but is not limited to, removing tables that are strictly layout, adding proper headings to elements such as menus, filters, and headings, easier keyboard access to Add/New icons, proper use of alt tags, skip navigation.

If there are areas which cannot be made accessible via template overrides a patch will be created or, if that is not possible, the issue will be documented.

Testing of accessibility will be done both with automated tools and with actual users.

This project will look to meet WCAG/508a goals, but ATAG (Authoring Tool Accessibility) which require changes to the editor are outside of the scope.

Accessible Administrator Menu Module

The deliverable will be a menu module which adds usability and accessibility. These changes include adding the control panel as a top level item, making the top level items actual links so they can get focus. Also, anywhere that “hover” initiates an action or a change, “focus” needs to do the same.

Administrator Components MVC

Since the Administrator template is dependent on the backend MVC work and because that work is not slated to be done until the beta release, this project will also include work on the MVC'ing of the backend components. In particular those parts that affect the layout files and templates will need to be done. This includes finishing the work of moving all HTML to the layout files and implementing the new forms engine.

Proof of concept will be established for the template with the com_weblinks component. Once that is complete, I will go through the list of other components based on how often a component is used and how stable the component currently is.  For the project I will do com_categories, com_content, com_login, com_menus, com_modules, com_plugins. If the code has stablized sufficiently I will also do com_contacts and com_members. Optionally, if there is time, I will complete the rest of the components. Since the code base is in pre-alpha release and there are a number of people working on it, if any particular component, view, or layout is unable to be done because it's not runable or in an extreme state of flux, then I will document and bypass.

Timetable

Weeks 1-2

Identify the current status of 1.6 trunk and projects. Code the main template & css using existing layout files and menu. Figure out how the new form engine works. Design test tasks. Assemble users with disabilities for testing.

Weeks 3-5

Create layout files for com_weblinks according to the new specifications. Create the menu module. Test with users.

Weeks 6-11

Start going through each component in turn and update the layout files per the MVC spec above. Continue to test new screens with users.

Week 12

Finalize. Recheck templates for changes in SVN. Final tests.