Up to cover page | Back to ECMAScript binding

WebCGM 2.0 — Appendixes


A. Acknowledgements

In addition to the listed editors of this specification, the following individuals have contributed significantly to the present WebCGM specification:

The following individuals made significant contributions to WebCGM 1.0:

B. What's new in WebCGM 2

This section is informative (non-normative).

  1. WebCGM DOM. A major functional addition is a limited WebCGM Document Object Model (DOM), carefully targeted at the WebCGM 2.0 requirements.
  2. WebCGM XCF. The second major functional addition is the definition of a standard XML Companion File for use by WebCGM (and related) applications, closely integrated with WebCGM DOM.
  3. Event model. As an adjunct to the DOM definition, a more detailed event model has been specified, allowing definition and attachment of user event handlers to objects, and specifying how "pick" events are handled in a backward compatible way to WebCGM 1.0.
  4. Complementing the event model, a new param sub-element is added to the OBJECT element, to allow handling of onload events.
  5. Single picture. Whereas ISO CGM:1999 allows multiple independent pictures in a metafile, and WebCGM 1.0 originally did, multiple pictures were deemed not amongst the requirements for WebCGM. To simplify WebCGM, they were deprecated in WebCGM 1.0 2nd Release, and are now removed from WebCGM 2.0.
  6. Fragment syntax. Small changes to allowable values, in order to embody the single-picture rule, but the overall structure of the fragment is unchanged for backward compatibility.
  7. Fragment syntax and xcfterm. It is now possible in the link fragment to specify to load-and-apply an XML companion file before first display of the graphics of a targeted picture.
  8. More object behaviors. The set of object behaviors that can be included in the link fragment syntax has been expanded to give much more user control. A set of behaviors is built from EBNF syntax, by combinations of an orthogonal navigation term and highlighting term. The 3 behaviors of WebCGM 1.0 are deprecated.
  9. Grnode. WebCGM 2.0 defines a purely graphical grouping mechanism, "graphical node", which groups graphical primitives as an Application Structure, but disallows the attributes or properties that associate intelligence with objects.
  10. New APS attributes. WebCGM defines new APS attributes of type 'visibility' and 'interactivity' that may be applied to most object (APS) types.
  11. Style Properties. For use in DOM and XCF, WebCGM 2.0 defines a set of Style Properties -- text color, stroke weight, etc -- that transiently (for the duration of a DOM or viewing session) override the corresponding CGM attributes for targeted picture and APS nodes.
  12. URI versus IRI. Unifying different implementation interpretations of WebCGM 1.0, WebCGM 2.0 clarifies that IRIs (Internationalized Resource Identifiers) are used to reference resources, and describes how agents handle them before passing to URI (Uniform Resource Identifier) resolvers.
  13. Obsolete features. A number of previously deprecated WebCGM 1.0 features are made obsolete (removed from WebCGM 2.0).
  14. Deprecated features. A number WebCGM 1.0 features are deprecated in WebCGM 2.0 (may be removed in a future revision).
  15. Symbol Libraries. This capability was in WebCGM 1.0, but was removed from WebCGM 2.0 because of lack of interest (POLYSYMBOL, several SYMBOL LIBRARY elements, some registered ESCAPEs, etc).
  16. 2.0 and has added some graphical items that were deferred from WebCGM 1.0 (for expedience)

C. Glossary

API, Application Programming Interface
An Application Programming Interface (API) is a set of functions or methods used to access some functionality.
Application Structure, APS
The CGM structure for grouping other elements and assigning them a unique identifier, a type, and attaching attributes. WebCGM contains five valid APS types: grobject, layer, para, subpara, grnode.
APS Attribute, Application Structure Attribute
The CGM element that is used to define and associate an attribute with an APS. WebCGM contains ten valid APS Attribute types: region, viewcontext, linkuri, layername, layerdesc, screentip, name, content, visibility, interactivity.
Cascading profile
A method by which closely related profiles can be expressed efficiently, by only enumerating the differences between a given profile and a base profile such as WebCGM.
CGM, Computer Graphics Metafile
ISO/IEC standard 8632:1999 (CGM:1999), CGM is a metafile format consisting of composite raster and scalable vector graphics information.
DOM, Document Object Model
A Document Object Model is a platform- and language-neutral interface that allows programs and scripts to dynamically access and manipulate the content, structure and style of documents. WebCGM defines a DOM of limited scope, allowing discovery and navigation of the WebCGM structure tree, transient manipulation of styles and standardized metadata, and discovery and manipulation of application-specific metadata. The WebCGM DOM is based upon and borrows from the principles the W3C DOM Level 2 and DOM Level 3 Recommendations.
EBNF, Extended Bauer Normal Form
A formal specification technique used in WebCGM to express pieces of grammar and syntax such as the IRI fragment syntax.
fragment (IRI fragment)
As standardized in RFC 3986 and RFC 3987, the fragment is a part of a IRI that is separated from the path/file name by a "#" character, and provides information that is reserved for processing by agents that are invoked by the browser to handle the resource information type of the IRI. WebCGM standardizes the syntax and semantics of such fragments, for transmitting object and picture selection and behavior information to WebCGM viewers.
handler, event handler
An event handler is a method called by the WebCGM DOM implementation whenever a specified event occurs. Users register the event types they are interested in by calling the addEventListener() method of the WebCGMMetafile object.
host application
The user agent, typically is a script that controls the behavior of a web page. In the context of WebCGM the host application controls the behavior of the WebCGM renderer through the DOM.
host document
The web page, contains a combination of both HTML and WebCGM content.
host environment
The combination of the host application and the host document
The determination of values of APS Attributes and Style Properties for objects in the WebCGM hierarchical object tree, when all aspects have not been explicitly specified for all objects in the tree. WebCGM defines an inheritance model that is closely based on CSS (Cascading Style Sheets, a W3C Recommendation).
interactive region
the effective geometric region for the purposes of all interactive cursor and mouse operations, such as picking and mouseover. By default, the drawn graphical primitives of the object define the interactive region. For filled-area primitives this includes: the edge, if edge visibility is 'on'; the interior, if the interior style is other than 'empty' or 'hollow'; and, the boundary, for interior style 'hollow'. For all graphical primitive types, drawn graphical primitives exclude any that are fully transparent (so a fully transparent object is equivalent to an empty object, for purposes of interactive region definition). If the object contains a 'region' APS Attribute, then that region area is the interactive region.
listener, event listener
The event listener specifies the interface via which users register event handlers with the WebCGM DOM implementation. This interface consists of a single method, handleEvent(), which the WebCGM DOM implementation calls whenever specified events occur. Users pass WebCGMEventListener objects as arguments to the addEventListener() method of the WebCGMMetafile object to register a specific event handler with the WebCGM DOM implementation.
Non graphical information contained within or associated with standard graphical files, in WebCGM metadata supports such ancilliary functions as hierarchical picture structuring, object identification and navigation, and association of application-specific non-graphical data with graphical objects.
A mechanism for retraining and transporting graphical data and control information, containing a device independent description of one or more pictures.
namespace, NS
A method devised and standardized by the XML Namespaces standard, namespace provides a way to distinguish to which specification and grammar elements and attributes belong, when information from distinct XML languages is mixed in the same document. WebCGM uses namespaces to separate standardized WebCGM XCF elements and attributes from embedded and intermingled application-specific metadata.
Normalized Device Coordinates, NVDC
The coordinate system that is used to communicate coordinate data through the WebCGM DOM, NVDC is VDC normalized so that the origin is lower-left and units are millimeters.
An Application Structure or Picture in a WebCGM.
object behavior
One of a set of (thirteen) ways in which the view of an object or collection of objects is presented following the execution of a hyperlink to the object(s). WebCGM standardizes a number of objects that give complete control over the zoom, pan, and highlight aspects of the view.
picture behavior
One of a set of ways in which the view of a picture (CGM) or document (HTML) is handled following the execution of a hyperlink to the content. Based on the 'target' attribute of the HTML 'a' tag, picture behaviors allow the specification of the new view to occur in a new window, to overwrite the whole contents of the source window, to overwrite the parent window, etc.
PPF, Profile Proforma
A method of expressing profiles standardized in CGM:1999 (clause 9), the PPF presents a profile as a single table covering all aspects of the CGM standard, with a reference column (enumerating a Model Profile or other base profile), and a column to define the target profile by comparison to the reference column.
Style Property
A graphical attributes that may be applied and manipulated at the APS or picture level, transiently, by WebCGM DOM and WebCGM XCF. WebCGM 2.0 defines nine style properties.
target rectangle
A rectangular region around the target object(s) that is used for the application of object behaviors following hyperlink execution. The target region is defined by APS Attributes and/or target geometry, and for example provides the area to be encompassed by a zoomed view.
The WebCGM Document Object Model, this terminology is used when it is needed to unambiguously distinguish the WebCGM DOM from the generalized W3C DOM specifications.
XCF, XML Companion File
An XML file format defined by WebCGM, that can be used to externalize metadata from WebCGM instances and bind it to objects in the metafile.

D. Change log

This section is informative (non-normative).

Note: Taken together, the following subsections list all significant changes to the content of the WebCGM 2.0 specification since its November 2005 publication as an OASIS Committee Specification (CS). It is the November 2005 CS that was submitted to W3C under the OASIS-W3C Memorandum of Understanding, for simultaneous completion of technically identical standards in both organizations.

D.1 Changes to text of W3C PR / OASIS 3rd public review

D.2 Changes in W3C Proposed Recommendation (PR) text since Candidate Recommendation

D.3 Changes in W3C Candidate Recommendation text since Last Call

D.4 Changes within W3C since W3C-published OASIS Submission

E. WebCGM accessibility

This section and its subsections are informative (non-normative).

E.1 Introduction

Topics such as internationalization and accessibility have been addressed by W3C in other Recommendations available on the Technical Reports page.  The relationship between the specifications of technology modules, such as this one, and those cross-cutting recommendations is discussed in the Specification Guidelines.  As suggested in the Specification Guidelines, this section identifies some relationships between the capabilities afforded by WebCGM features and accessibility requirements established by other Recommendations.

Although a WebCGM metafile is a binary file format, it has systematic grouping and annotation features that foster accessibility of WebCGM metafile content. For example, graphical text is ideally stored as Unicode text strings within the metafile, but to handle cases where graphical text images are actually the result of other vector (e.g. stroking) or raster (e.g., bitmaps) graphics in the metafile, WebCGM has the attribute 'content' on the para and subpara objects, that gives the text-string equivalent of the rendered graphical text.

Features that are in the binary metafile itself will, unlike clear-text formats such as HTML, XML, and SVG, require the cooperation and intervention of the WebCGM authoring tools and viewers. As described in [Essential Components of Web Accessibility], several components such as authoring tools, media viewers and developers, have to work together to improve Web accessibility. Therefore, the discussions in the following sections are recommendations to content developers, and builders of authoring tools and viewers.

E.2 Navigation

By Guideline 9 "Provide navigation mechanisms" of [UAAG10] a WebCGM viewer is expected to let users interact with 'enabled' and significant objects in the image. 'Enabled' objects are those which accept user input, such as on screen buttons. By the structure of WebCGM, each APS should be treated as a significant object and be reachable by navigation techniques. By Guideline 1 "Support input and output device independence" the reach of keyboard-actuated navigation should cover this whole set of navigation destinations.

Some notion of forward and backward motion among peer nodes in the WebCGM image should be provided. This should by default move among paragraphs and sub-paragraphs in the order in which they appear in the metafile. The creators of WebCGM instances should ensure that this results in a sensible reading order. However, efficient motion as called for in [UAAG10] Checkpoint 9.9, is not likely to result from one global list or loop of all the plausible navigation destinations. Exploiting the structure of the metafile, structured navigation could take hierarchical or categorical forms. In hierarchical navigation, forward and back motion moves among peer nodes at the same level in the layers-and-objects nesting tree. In categorical navigation, the sequential navigation could exhibit navigation modes which visit only 'grobject' nodes, or only the 'gropbject' nodes with a common 'name.' An example of hierarchical navigation is provided by the player behavior for the [DAISY] standard digital talking book. An example of categorical structured navigation is provided by the diverse navigation modes of the Opera browser. The creators of WebCGM instances should ensure that the layers-and-objects nesting forms a plausible table of contents as annotated with the textual properties (see E.3 below) of the affected nodes, and that collecting nodes of like 'name' forms meaningful slices of what is in the scene.

In this version of WebCGM, there are no intra-metafile controls to alter the navigation graph. In a scenario where such capability is desired, the private-namespace extension feature of the XCFcan be used to introduce further intelligence associated with the contents of the metafile proper.

E.3 Required text content

Web Content Accessibility Guidelines such as [WCAG10] require that essential information be available in text form.  Some key examples are:

WebCGM contains attributes that associate text with things in the depicted scene, and can be used to meet these requirements.

This essential content, if not always presented to the user, must be considered 'conditional content' in the sense of [UAAG10], Checkpoint 2.3.  That checkpoint gives some latitude to the viewer as to whether to present these attributes globally through view-mode controls or locally in response to focus and inspect actions of the user.

WebCGM viewers should also make this textual information available to assistive technology through the accessibility API appropriate to the programming platform, following [UAAG10], Guideline 6.

Note. It might be thought that the 'name' APS attribute could or should be used in a manner like 'alt' on 'img' in HTML. This is not the design intent of the 'name' attribute. It has well-defined category, not instance, semantics and associated categorical navigation behavior.

E.4 Styling

WebCGM 2.0 supports transient, display-time control of a number of display properties of objects. These can be manipulated via the WebCGM DOM, and are also available via the XCF mechanism. Although WebCGM does not support conventional styling, an (external) XCF can function similarly to an external style sheet. For improved accessibility, WebCGM 2.0 viewers should provide some user control of rendering. Use of these mechanisms partially supports the recommendations of [WCAG10], Checkpoint 3.3 and [UAAG10], Guideline 4.

E.5 Visibility and navigation

By default, WebCGM viewers allow the user to navigate to and interact with only enabled elements (i.e. element whose 'visibility' attribute is 'on'). Objects which are not visible do not display tooltips (the 'screentip' APS attribute), may not be highlighted without making them visible, and may not be navigated to via the picture behaviors (whether in picture fragments or DOM src parameter).

In addition, WebCGM viewers can offer a mode where, at user option, the 'visibility' attribute is ignored, for accessibility or debugging support. It meets a requirement of [UAAG10], CheckPoint 9.3.

Back to top of Appendixes