Making the right constraints for usable and accessible user interfaces

Track: End-User Applications, Publishing, Deploying XML

Audience Level: High Level/Technical view

Time: Thursday, November 17 09:45

Author: Gary Cornelius, CSW Group Ltd.

Author: John J. Chelsom, CSW Group Ltd.

Keywords: Application Architecture, Conformance Testing, Content Management, Content Model, Content Repurposing, CSS, Custom Publishing, Deployment, Enterprise Content Management, Graphic, Internet, RELAX NG, Repository, Stylesheet, XHTML, XML, XML Publishing, XSLT


Many applications now use XML as a data exchange format and store data in some type of XML database system. Because of its wide applicability and the vast range of design patterns XML offers, developers are often overwhelmed when it comes to building applications. Many of the problems encountered centre around the multitude of variables and the difficulty in finding constraints to make them manageable. These are not inherent problems of XML itself but of constructing the right tools to enable the developer to find the right parameters for their application.

This paper focuses on managing constraints in a way that enables developers to create an accessible and usable user interface (UI). The constraining processes presented in this paper comprise of a language to describe a logical web page in an application, a basic bottom-up repository management system and the processing required for compiling pages. The design is intended to meet the following goals: i. Support for any XML input; ii. Support for XHTML and CSS output; iii. Support for page layout and graphic design constraints; iv. Support for W3C Web Content Accessibility Guidelines (WCAG) and US Government Accessibility Guidelines Section 508; v. Support for a wide range of applications;

The implementation of that design aims to provide a framework for customization of a user interface and support for rendering the user interface in multiple output formats (and on different devices).

The languages are defined using Relax NG and the processing is developed in XSLT 2.0. At a high-level the user interface is constrained to a logical page model which is easily understood by the user: Constraints identify a limited but complete set of loosely coupled UI components that can be pulled from a centralized UI repository and built bottom-up across a range of applications. We outline compiling of XSL, XHTML and CSS from this base repository and a framework that will support the output of additional formats. Also, we create a custom version of the XHTML schema to validate the quality of the output against our initial constraints. We outline a use case for this model, pushing out the User Interface for a large web application and show positive early results illustrating the efficiency and scalability of this approach.