=20&&0===t&&i>=11||e>=20&&i>=100?10:100}}class c extends r{constructor(){super(c.EVENT_NAMES),this.viewRect=null,this.enabled=!1,this._scrollCallback=()=>{this._eventHandler("scroll")},this._resizeCallback=()=>{this._eventHandler("resize")}}_makeViewRect(){const e=this.container,t=document.documentElement,i=e.scrollTop||e.scrollY||e.pageYOffset||t.scrollTop,s=e.scrollLeft||e.scrollX||e.pageXOffset||t.scrollLeft,n=e.clientWidth||e.innerWidth||t.clientWidth,a=e.clientHeight||e.innerHeight||t.clientHeight,r={top:i,left:s,right:s+n,bottom:i+a,width:n,height:a};if(this.container!==window){const e=this.container.getBoundingClientRect&&this.container.getBoundingClientRect();e&&(r.offsetX=e.left,r.offsetY=e.top)}return r}_updateViewRect(){const e=this.viewRect;this.viewRect=this._makeViewRect();return{xChanged:!e||e.left!==this.viewRect.left||e.width!==this.viewRect.width,yChanged:!e||e.top!==this.viewRect.top||e.height!==this.viewRect.height}}_eventHandler(e){const t=this._updateViewRect();["resize","both"].includes(e)&&(t.xChanged||t.yChanged)&&this.fireEvent("resize",this.viewRect),(t.xChanged||t.yChanged)&&this.fireEvent("either",this.viewRect),t.xChanged&&this.fireEvent("horizontal",this.viewRect),t.yChanged&&this.fireEvent("vertical",this.viewRect)}enable(){if(this.enabled)throw Error("ViewportManager has already been enabled");this.enabled=!0,this.container=window.DocumentManager.scrollParent||window,this._eventHandler("both"),this.container.addEventListener("resize",this._resizeCallback,!1);(window.DocumentManager.scrollParent?this.container:window.document).addEventListener("scroll",this._scrollCallback,!1)}disable(){if(!this.enabled)throw Error("ViewportManager has already been disabled");this.enabled=!1,window.removeEventListener("resize",this._resizeCallback,!1),this.container.removeEventListener("scroll",this._scrollCallback,!1)}}i(c,"EVENT_NAMES",["vertical","horizontal","either","resize"]);class m{constructor(e,t){this.pages=[],this.loaded=!1,this.fonts={},this.numFonts=0,this.fontLoader=t,this.groupNum=e||0}addPage(e){for(let t=0;tthis.fontLoader.maxFontsLoading(i,t,e)}load(e){if(this.hasLoaded)return;this.hasLoaded=!0;const t=()=>{for(const e in this.fonts)Object.prototype.hasOwnProperty.call(this.fonts,e)&&this.fontLoader.addFontToQueue(e);this.fontLoader.flushFontQueue()};e?window.setTimeout(t.bind(this),e):t.call(this)}newNextGroup(){return new m(this.groupNum+1,this.fontLoader)}}class p{constructor(e){for(const i in p._defaultParams)Object.prototype.hasOwnProperty.call(p._defaultParams,i)&&(this[i]=e[i]||p._defaultParams[i]);const t=this._getMissingRequiredParams();if(t.length)throw Error("Missing required Page param(s): "+t.join(", "));if(!this.contentUrl&&!this.innerPageElem)throw Error("Must initialize a page with either a contentUrl or innerPageElem element");if(!0===this.containerElem.boundToPageObj)throw Error("Container Elem is already bound to a page. We shouldn't get here");this.containerElem.boundToPageObj=!0,this._targetHeight=null,this._targetWidth=null,this._innerPageVisible=!!this.innerPageElem,this._imagesTurnedOn=!1,this.boundingRect=null,this.isVisible=!1,this.displayDirty=!0,this.displayOn=null,this.loadHasStarted=!!this.innerPageElem}_getMissingRequiredParams(){const e=[];let t;for(let i=0;i<\/noscript *>/g,""),i=document.createElement("div");i.innerHTML=t.trim();const s=i.firstChild;this.containerElem.appendChild(s),this.innerPageElem=s,this.turnOnLinks(),this.fixSVGFonts(),this._fitContentsToWidth(),this.displayDirty=!0,this.displayOn?this.display():this.hide()}fixSVGFonts(){if(!this._svgFontsFixed&&this.innerPageElem){if(a){const e=function(t){if(t.nodeType===document.TEXT_NODE){const i=t.textContent.search(/[ \n][^ \n ]/);i>=0&&e(t.splitText(i+1))}else{const i=t.childNodes;for(let t=0;t`}load(){if(this.currentlyLoading=!0,this.loadHasStarted=!0,this.innerPageElem)throw Error("We already have loaded this page, but it looks like you called loadPage again");this.loadFonts();const e=`page${this.pageNum}_callback`;if(window[e])try{delete window[e]}catch{window[e]=void 0}if(this.docManager.displayType===t)return delete this.currentlyLoading,void this._setContainerContents(this.imagePageContent(this.contentUrl));const i=document.createElement("script");window[e]=t=>{i&&i.parentNode===document.body&&document.body.removeChild(i);const s=t[0];delete this.currentlyLoading,this._setContainerContents(s);const n=document.getElementById(this.containerElem.id);if(this.docManager.fireEvent("pageLoaded",this.containerElem),n&&this.docManager.lazyImageObserver){const e=n.querySelectorAll(".absimg");for(let t=0;te/t?t=Math.ceil(e/this.origWidth*this.origHeight):e=Math.ceil(t/this.origHeight*this.origWidth),this._targetWidth!==e&&(this.containerElem.style.width=e+"px",this._targetWidth=e),this._targetHeight!==t&&(this.containerElem.style.height=t+"px",this._targetHeight=t),this._fitContentsToWidth()}turnOnImages(){if(!this.innerPageElem)throw Error("Can't turn on images for a page that's not loaded");if(this._imagesTurnedOn)throw Error("Images have already been turned on for this document");this._imagesTurnedOn=!0;const e=this.innerPageElem.getElementsByTagName("img");for(let t=0;t-1&&!e.href){const i=e.getAttribute("orig");if(i){let a=s.decode(i).replace(/^j[\W]*a[\W]*v[\W]*a[\W]*s[\W]*c[\W]*r[\W]*i[\W]*p[\W]*t[\W]*:|^f[\W]*i[\W]*l[\W]*e[\W]*:/gi,"");a.search(/^page/)>-1?e.onclick=t(a):(a.search(/^(http|ftp)/)<0&&(a="http://"+a),e.,n(e,a),e.rel="nofollow Scribd")}}}}}i(p,"_defaultParams",{containerElem:null,innerPageElem:null,contentUrl:null,origWidth:null,origHeight:null,fonts:null,docManager:null,pageNum:null}),i(p,"_requiredParams",["origorigHeight","fonts","docManager","containerElem","pageNum"]);const f=["dragstart, selectstart, contextmenu"],_=function(e){e.preventDefault()};class P extends r{constructor(e,t,i){super(P.EVENT_NAMES),this.options=i||{},this.options.extrasWidth="this.options.extrasWidth||window.extrasWidth,this.defaultViewMode=e||"scroll",this.mobile=t||!1,this.callbacks_ready=!1,this.callbacks=[],this.pages={},this._pageWidths=null,this.options.hasWoffFonts?(this._fontLoader=new" d(this),this.adjacentFontLoadPages=1):(this._fontLoader=new u(this),this.adjacentFontLoadPages=8),this.viewManagers={scroll:new h,slideshow:new l},this.viewportManager=new c,this._currentFontAggregatorHostIdx=0,this.visiblePages=[],this.firstVisiblePage=null,this.lastVisiblePage=null,this.firstHiddenPageNum=null,this.truncateDocument=window.__truncate_document||!1,this.currentFontGroup=new m(0,this._fontLoader),this.isScrolling=!1,this._scrollingCount=0,"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype&&"isIntersecting"in window.IntersectionObserverEntry.prototype&&this.setupLazyImageObserver()}setupLazyImageObserver(){this.lazyImageObserver=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&this.lazyLoad(e.target)})})}lazyLoad(e){e.className.toLowerCase().search("absimg")>-1&&!e.src&&(e.src=this.subImageSrc(e.getAttribute("orig")),e.removeAttribute("orig"),e.style.display="block",this.lazyImageObserver&&this.lazyImageObserver.unobserve(e))}observeImages(e){if(!this.lazyImageObserver||!this.lazyImageObserver.observe)return;const t=e.getElementsByTagName("img");for(let i=0;i-1&&this.lazyImageObserver.observe(t[i])}loadImages(e){const t=e.getElementsByTagName("img");for(let i=0;i{e.call(this)})}disableRestorePosition(){this.viewManagers.scroll._disableRestorePosition=!0}_fireZoomed(e){this.fireEvent("zoomed",e)}nextFontAggregatorHost(){return this._currentFontAggregatorHostIdx=(this._currentFontAggregatorHostIdx+1)%this.fontAggregatorHosts.length,this.fontAggregatorHosts[this._currentFontAggregatorHostIdx]}_fireHideExtras(){this.fireEvent("hideExtras")}_fireShowExtras(){this.fireEvent("showExtras")}currentPageNum(){return this._expectedFirstPageNum}setupTestElements(){this._fontLoader.setupTestElements()}pageCount(){if(Object.prototype.hasOwnProperty.call(this,"_pageCount"))return this._pageCount;let e=0;for(const t in this.pages)Object.prototype.hasOwnProperty.call(this.pages,t)&&e++;return this._pageCount=e,this._pageCount}truncatedPagesString(){return`${this.firstHiddenPageNum}-${this.originalPageCount}`}setupPaidDocument(e,t){this.allowedPages=e,this.originalPageCount=t,this._allowedPagesHash=[],this._maximumAllowedPage=Math.max.apply(null,this.allowedPages),this._minimumAllowedPage=Math.min.apply(null,this.allowedPages),this._isPaidDocument=!0,this._pageMissingElements=[];for(let i=0;i0&&e[i]>e[i-1]+1||0===i&&1!==e[i])&&this._pageMissingElements.push("page_missing_explanation_"+e[i].toString());this._maximumAllowedPage!==this.originalPageCount&&this._pageMissingElements.push("page_missing_explanation_"+(this.originalPageCount+1).toString())}minimumPageNumber(){return"book"===this.viewMode()?0:1}maximumPageNumber(){return this.allowedPages?this.originalPageCount:this.pageCount()}getClosestPageNumber(e,t){if(!this.allowedPages)return e;if(this._allowedPagesHash[e])return e;if(e>=this._maximumAllowedPage)return this._maximumAllowedPage;if(e<=this._minimumallowedpage)return this._minimumAllowedPage;for(let i=1;i<=this.originalpagecount;i++){if(t<=0&&!0===this._allowedpageshash[e-i])return e-i;if(t>=0&&e+ie.visibleHeight)&&(e=t);return e?.pageNum}updateMostVisiblePage(){const e=this.getMostVisiblePageNum();e!==this._mostVisiblePageNum&&(this._mostVisiblePageNum=e,this.fireEvent("mostVisiblePageChanged",this._mostVisiblePageNum))}visiblePagesChanged(){const e=[];for(const i in this.pages)if(Object.prototype.hasOwnProperty.call(this.pages,i)){const t=this.pages[i];t.isVisible&&e.push(t)}if(!e.length)return;e.sort(function(e,t){return e.pageNum0?e[0]:null,this.lastVisiblePage=e.length>0?e[e.length-1]:null,this.isScrolling||(this._loadAdjacentFonts(),this._loadAdjacentPages()),(this.firstVisiblePage===t||this.firstVisiblePage&&t)&&this.firstVisiblePage.pageNum===t.pageNum||!this.isScrolling&&this.firstVisiblePage&&this._updateExpectedFirstPage(this.firstVisiblePage.pageNum),this.scheduleLogPageView()}constrain(e,t,i){return Math.min(i,Math.max(t,e))}boundingRatioForPage(e){const t=this.viewportManager.viewRect,i=e.boundingRect,s=i.bottom-i.top,n=i.right-i.left;return{left:(t.left-i.left)/n,right:(t.right-i.right)/n+1,top:this.constrain((t.top-i.top)/s+e.pageNum,e.pageNum,e.pageNum+1),bottom:this.constrain((t.bottom-i.bottom)/s+e.pageNum+1,e.pageNum,e.pageNum+1)}}scheduleLogPageView(){this.logPageViewTimout&&window.clearTimeout(this.logPageViewTimout),this.logPageViewTimout=window.setTimeout(()=>{this.logPageView(),this.logPageViewTimout=null},1e3)}_floor2(e){return Math.floor(100*e)/100}getVisibleBBox(){const e={};if(this.firstVisiblePage){const t=this.boundingRatioForPage(this.firstVisiblePage);e.left=t.left,e.right=t.right,e.top=t.top}if(this.lastVisiblePage){const t=this.boundingRatioForPage(this.lastVisiblePage);e.bottom=t.bottom}return e}logPageView(){const e=this.getVisibleBBox();for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(e[i]=this._floor2(e[i]));const t=[[e.left,e.top],[e.right,e.bottom]];return this.fireEvent("pageView",t),e}_updateExpectedFirstPage(e){this._expectedFirstPageNum=e,this.fireEvent("expectedFirstPageChanged",this._expectedFirstPageNum)}_loadAdjacentFonts(){if(this.firstVisiblePage&&this.lastVisiblePage){const e=this.firstVisiblePage.pageNum-this.adjacentFontLoadPages,t=this.lastVisiblePage.pageNum+this.adjacentFontLoadPages;for(let i=e;i<=t;i++){const e=this.pages[i];e&&e.loadFonts()}}}_loadAdjacentPages(){if(this.firstVisiblePage&&this.lastVisiblePage){const e=this.firstVisiblePage.pageNum-3,t=this.lastVisiblePage.pageNum+3;for(let i=e;i<=t;i++){const e=this.pages[i];e&&!e.loadHasStarted&&(e.load(),this.mobile&&e.setWidth(this._pageWidths))}this.mobile&&this._removeUnusedPages()}}_removeUnusedPages(){const e=this.firstVisiblePage.pageNum-3,t=this.lastVisiblePage.pageNum+3,i=this.pages;let s=4;for(;i[s];)(st)&&i[s].remove(),s++}_updatePageBoundingRects(){for(const e in this.pages)Object.prototype.hasOwnProperty.call(this.pages,e)&&this.pages[e]._updateBoundingRect()}removeInsteadOfBlurring(e){return!!(this.truncateDocument&&this.firstHiddenPageNum&&e.pageNum>=this.firstHiddenPageNum)||(!!P.disablePageBlur||"undefined"===typeof Scribd)}addPage(e){if(!this.firstHiddenPageNum&&e.blur&&(this.firstHiddenPageNum=e.pageNum),!this.removeInsteadOfBlurring(e)){if(void 0===e.pageNum)throw Error("must have pageNum param");if(e.docManager=this,e.innerPageElem){const t=e.innerPageElem.querySelectorAll(".absimg");for(let i=0;i{this.setViewManager(e,t)})}_setViewManager(e,t){t||this._currentViewManager.unregister();const i=this._currentViewManager;this._currentViewManager=this.viewManagers[e],this._currentViewManager.register(this,this.viewportManager),this.fireEvent("viewmodeChanged",this.viewMode(),i?i.name():null)}setInitialViewManager(e){if(this._currentViewManager)throw Error("This should be called before any view manager exists");this._setViewManager(e,!0),this.fireEvent("viewmodeInitialized",this.viewMode(),null)}setDefaultWidth(e){this._currentViewManager._currentPageWidth=e,this._currentViewManager._currentZoomMultiplier=1,this._currentViewManager._updatePageWidths()}subImageSrc(e){if(!this._imageDomainSubstitutionList||0===this._imageDomainSubstitutionList.length)return;const t=this._imageDomainSubstitutionList[0];return e.replace(this._imageDomainSubstitutionFrom,t)}allPagesAdded(){if(this._allPagesAddedCalled)throw Error("can only call allPagesAdded once");this.viewportManager.enable(),this._updatePageBoundingRects(),this.setInitialViewManager(this.defaultViewMode),this.fireEvent("allPagesAdded")}setEmbeddedDoc(e){this._isEmbed="True"===e}setPageWidths(e){this._pageWidths=e;for(const t in this.pages)Object.prototype.hasOwnProperty.call(this.pages,t)&&this.pages[t].setWidth(this._pageWidths);this._updatePageBoundingRects()}addFont(e,t,i,s,n,a){this._fontLoader.addFont(e,t,i,s,n,a)}initStyles(){this._fontLoader.initStyles()}gotoPage(e,t){const i=!(e%1===0);let s=null;if(i&&(s=+(e%1).toFixed(2),e=Math.floor(e)),ethis.maximumPageNumber())return;t||(t={}),i&&void 0===t.frac&&(t.frac=s);const n=t.direction||0;let a=this.pages[e];void 0===a&&this._isPaidDocument&&(e=this.getClosestPageNumber(e,n),a=this.pages[e]),this.mobile&&this.pages[e]&&this.pages[e].setWidth(this._pageWidths),this._updateExpectedFirstPage(e),this._currentViewManager.gotoPage(this._expectedFirstPageNum,t)}gotoPreviousPage(){const e=this._currentViewManager._pagingStep();this._currentViewManager.isTopPageInView()?this.gotoPage(this._expectedFirstPageNum-e,{direction:-1}):this.gotoPage(this._expectedFirstPageNum,{direction:-1})}gotoNextPage(){const e=this._currentViewManager._pagingStep();this.gotoPage(this._expectedFirstPageNum+e,{direction:1})}enterFullscreen(){this._currentViewManager.enterFullscreen()}exitFullscreen(){this._currentViewManager.exitFullscreen()}isFullscreen(){return this._currentViewManager.isFullscreen}_fireEnteredFullscreen(){this.fireEvent("enteredFullscreen")}_fireExitedFullscreen(){this.fireEvent("exitedFullscreen")}viewMode(){return this._currentViewManager?this._currentViewManager.name():null}zoom(e){this._currentViewManager.zoom(e)}resetZoom(){this._currentViewManager.resetZoom()}setImageDomainSubstitution(e,t){this._imageDomainSubstitutionFrom=e,this._imageDomainSubstitutionList=t}disableViewManagerResizeWidth(){o.prototype._setBodyWidth=function(){}}disable(){this.disabled||(this.disabled=!0,this.viewportManager.disable())}disableCopyPasteOnPage(e){f.forEach(function(t){e.addEventListener(t,_)}),e.setAttribute("unselectable","on"),e.querySelectorAll("*").forEach(function(e){e.setAttribute("unselectable","on")})}enableCopyPasteOnPage(e){f.forEach(function(t){e.removeEventListener(t,_)}),e.removeAttribute("unselectable"),e.querySelectorAll("*").forEach(function(e){e.removeAttribute("unselectable")})}setJQuery(){console.info("DocumentManager.setJQuery is deprecated. jQuery is no longer a dependency.")}}return i(P,"EVENT_NAMES",["expectedFirstPageChanged","mostVisiblePageChanged","viewmodeChanged","enteredFullscreen","exitedFullscreen","hideExtras","showExtras","zoomed","pageHide","pageLoaded","allPagesAdded","pageView","visiblePagesChanged","viewmodeInitialized"]),P}();
School of EducationUniversity ofSouthamptonSouthampton, UK+44 23 80594784J.K.Seale@soton.ac.uk
ABSTRACT
The work of the Web Accessibility Initiative (WAI) is describedin a set of technical guidelines designed to maximiseaccessibility to digital resources. Further activities continue tofocus on technical developments, with current discussionsexploring the potential merits of use of Semantic Web and Web2.0 approaches. In this paper we argue that the focus ontechnologies can be counter-productive. Rather than seeking toenhance accessibility through technical innovations, the authorsargue that the priority should be for a user-focussed approach,which embeds best practices through the development of achievable policies and processes and which includes allstakeholders in the process of maximising accessibility.The paper reviews previous work in this area and summarisescriticisms of WAI’s approach. The paper further develops atangram model which describes a pluralistic, as opposed to auniversal, approach to Web accessibility, which encouragescreativity and diversity in developing accessible services. Suchdiversity will need to reflect the context of usage, including theaims of a service (informational, educational, cultural, etc.), theusers’ and the services providers’ environment.The paper describes a stakeholder approach to embedding best practices, which recognises that organisations will encounter difficulties in developing sustainable approaches by addressingonly the needs of the end user and the Web developer. The paper describes work which has informed the ideas in this paper and plans for further work, including an approach to advocacy andeducation which coins the "Accessibility 2.0" term to describe arenewed approach to accessibility, which builds on previous work but prioritises the importance of the user. The paper concludes bydescribing the implications of the ideas described in this paper for WAI and for accessibility practitioner stakeholders.
Categories and Subject Descriptors
H.5.2 [
User Interfaces
– Evaluation/methodology]; K.4.2 [
SocialIssues
- Assistive technologies for persons with disabilities]
General Terms
Measurement, Documentation, Human Factors, Standardization,Legal Aspects, Verification.
Keywords
Web accessibility, people with disabilities, WAI, WCAG,guidelines, methodologies, contextual design.
1.THE WAI MODEL
As the body responsible for the coordination of developments toWeb standards, the World Wide Web Consortium (W3C) hastaken a lead in promoting accessibility of the Web for disabled people, not only as Web users, but also as Web authors. Since1997, the W3C’s Web Accessibility Initiative (WAI) has beenextremely active and very successful both in raising awareness of the importance of Web accessibility and in developing a modelwhich can help organisations to develop accessible Webresources. WAI promotes a tripartite model of accessibility, withthe goal of universal Web accessibility in theory provided by fullconformance with each of three components12.Of particular relevance to developers of Web resources is the Web ContentAccessibility Guidelines (WCAG) [39]. WAI has been successfulin promoting the WCAG around the world; the guidelines have been adopted by many organisations and are increasingly beingadopted at a national level12.In the WAI model, the WCAG is coupled with accessibilityguidelines for browsing and access technologies (the User AgentAccessibility Guidelines, UAAG12) and for tools to supportcreation of Web content (Authoring Tools AccessibilityGuidelines, ATAG12), complemented by the activities of theEducation and Outreach Working Group (EOWG) [46] and theProtocol and Formats Working Group (PFGW) [44]. Thisapproach acknowledges that in addition to providers of Webcontent, developers of authoring tools and of browsers, media players and access technologies also have responsibility towardsthe provision of accessible Web content.
2.LIMITATIONS OF WAI’S APPROACH2.1Shortcomings of the WAI Model
Although WAI has been very successful at a political level, and toa large extent at a technical level, the authors feel that the modelof Web accessibility adopted by WAI is flawed. This is due partlyto the nature of the WCAG and also to the overwhelmingdomination of the role of WCAG with respect to the other guidelines in the accessibility of online information and services.The WAI model relies on conformance with each of the three setsof guidelines –WCAG for content, ATAG for the tools used tocreate the content, and UAAG for the tools used to access thatcontent. While Web authors have control over how well theyconform with WCAG, and to a lesser extent ATAG, they have nocontrol over how users access content. This leaves an awkwardsituation whereby users may not benefit from the accessibilityfeatures promised by a WCAG conformant Web page, due totheir choice of browsing or assistive technology.
2.2Shortcomings of WCAG
Shortcomings of version 1.0 of WCAG have been documentedelsewhere by the authors12. In theory, these shortcomings should be of limited impact given that work has for several years beenongoing on WCAG 2.0, the replacement for WCAG 1.0, since2001.WCAG 2.0 represents a fundamental departure from theapproach to accessibility taken by the May 1999 WCAG 1.0recommendation. In comparison to the HTML-focused WCAG1.0, WCAG 2.0, on the other hand, is fundamentally "technology-agnostic". Its core principles (POUR: perceivable, operable,understandable, robust), guidelines and related 'success criteria'aim to be applicable to the widest possible range of present andfuture technologies used to deliver content on the web – including non-W3C technologies. The normative guidelines aremeant to be complemented by non-normative, technology-specific'techniques' documents, detailing specific implementationexamples and best practices.The call for review of the WCAG 2.0 Last Call Working Draftwas issued in April 2006. This was received in many expertcircles with reactions ranging "between the lukewarm and theoutright hostile"12.In an article that brought WCAG 2.0 to theattention of the wider Web design community, Clark 12raised(among other issues) fundamental concerns regarding:
•
The size of the documentation (normative and non-normative), which, it is argued, will negatively impactadoption by actual designers and developers.
•
Its inscrutable language: due to WCAG 2.0's aim to betechnologically neutral, the language used for guidelines andsuccess criteria is generic, comprised of vague new termsand definitions.
•
The potential for abuse inherent in the concepts of baselinesand scoping as a means to justify inaccessible sections of asite and proprietary technologies which present accessibilityhurdles to users.
•
The omission of markup validation / standards-compliancefrom the guidelines.
•
Lack of adequate provision for users with cognitivedisabilities and learning difficulties.On this last point, Seeman submitted a formal objection toWCAG 2.0, requesting that implicit claims that the guidelines docover cognitive disabilities be omitted from the guidelines'abstract altogether 12.Almost a year after the original call for review, WAI is stillworking towards addressing issues and comments raised duringthe review period. It hopes to issue updated documents in early2007, with a view to finalising the guidelines by the end of theyear 12 but whether this deadline will be achieved and whether the guidelines will be approved by W3C member organisationsremains to be seen. Indeed, the presence of work led by Clark, but unaffiliated to W3C, to concentrate on providing "correctionsfor, and extensions to WCAG 1.0"12indicate a lack of faithmany Web developers have in WCAG 2.0
which recentlyculminated in an open letter by Clark to Tim Berners-Lee [11],calling for the new version of the guidelines to be canceled.
WAI defines Web accessibility as meaning that "people withdisabilities can use the Web ... more specifically [they] can perceive, understand, navigate, and interact with the Web" [14].However, as discussed above, it strongly advocates measuringaccessibility by conformance to accessibility guidelines, particularly WCAG. Yet this leaves a gap in the logic of how toensure accessibility – what is the evidence that following theguidelines will create resources that people with disabilities can perceive, understand, navigate and interact with? This evidencePermission to make digital or hard copies of all or part of thiswork for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and thefull citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
W4A2007 - Technical Paper
, May 07-08, 2007, Ban-ff, Canada.Co-Located with the 16th International World Wide
is surprisingly lacking. The investigation conducted for theDisability Rights Commission [13] found no relationship between the number of violations of accessibility guidelines andeither objective or subjective measures disabled people’s abilityto use 100 Web sites. As part of a similar investigation for theMuseums, Libraries and Archives Council [22] a study of theaccessibility of a sample of international museum Web sitesfound the museum Web site with the highest conformance toWCAG was the one disabled users found most difficult to use.There is a similar lack of evidence for the basis of the three priority levels used in WCAG which make specific claims aboutthe number of groups of disabled users and the problems of accessibility if guidelines of particular priorities are violated. Auser-based study with blind Web users recently found that therewas no relationship between users ratings of problems theyencountered and the priority levels associated with these problems [23]. There is an urgent need for more investigations of evidence for the relationship between accessibility as measured by user behaviour and by conformance to guidelines. Not only is there a need for evidence to support WAI guidelines,there is also a need for an evidence-based approach toaccessibility as we move forward to WCAG 2.0. A useful modelin this regard is the set of guidelines for Web usability compiled by the US Department of Health and Human Services [12]. Eachguideline in this set is accompanied by a rating of its importancein creating usable Web resources and a rating of its "strength of evidence". The methodology for producing these ratings and allthe research used in calculating them is provided in thedocumentation. This transparent approach would be extremelyuseful for developing measures of accessibility. Unfortunatelyone critical problem is the lack of empirical research on thedetails of accessibility to draw on in developing such measures.
4.THE ROLE OF CONTEXT
WCAG aims to support Web authors in making content asaccessible and usable to disabled people as possible. Theoverarching purpose of the guidelines is impeccable but the waythey are expressed does not take account of variations in thecontext of use. They work best where the information design task is one of simple presentation, such as in the case of a novel,company accounts, train timetables, self-assembly instructionsand so on, where the role of the user is simply to apprehend theinformation. But there are contexts where the user role extends beyond simple apprehension to include, for example, analysisand interpretation. This becomes a major challenge wheninterpreting and applying WCAG in, for example, a cultural or artistic context or a teaching and learning environment. Consider Figure 1.What can you see?
Figure 1: What is this?
(Reproduced with permission fromhttp://www.seabury.edu/faculty/akma/duckrab.gif)
is a typical gestalt- style image that at times looks likea duck and at other times a rabbit. It does not morph graduallyfrom one to the other but seems to transform instantaneously.WCAG checkpoint 1.1 exhorts designers to provide a textequivalent for every non-text element to accommodate those withvisual impairment. What would that mean in this instance? A textthat described the image as either a duck or a rabbit would bemisleading. To describe it as an image that looks like both a duck and a rabbit is probably not very helpful and immediately givesthe game away. The whole point of the picture is to let the viewer experience each of these competing images for themselves. Theidea of providing an alternative but equivalent experience is based on sound logic, but the requirement to provide a textalternative is probably inappropriate in this instance. It may be possible to create an equivalent sensation by offering a soundthat can be interpreted in more than one way. Or it may be thatwe have to accept that in the Web environment there areoccasions when there is no alternative equivalent experience andthat some other medium, a tactile model for example, is requiredto supplement the digital information.
Figure 2: Normal and Cancerous Cells
(Reproduced with permission from http://www.sandia.gov/news-center/news-releases/2005/images/mitopic_nr.jpg)The duck/rabbit image is arguably a special case, relevant perhaps largely within the domain of visual perception. Butambiguity and interpretation are distinguishing characteristics of most learning contexts beyond simple rote learning. While therewill be occasions when it is important to convey informationunambiguously (for exampleFigure 2shows what a healthy celllooks like compared with a cancerous cell), at other times it will be important to be less explicit (can the learner tell if another,different, cell is cancerous?).While a significant proportion of learning is factual, it is widelyrecognised that knowledge is not simply transmitted from one party to another. It is constructed by the learner through some process of interaction with the information12. In some fields,such as the arts and humanities, personal perspective plays animportant role in the learning process. Take the example of theimage inFigure 3.It is easy enough to provide a text descriptionof what the picture showsfactually: a figure in adark coat walking besidea snowy bank. It is muchharder to convey whatthe picture means. Theremay be as manyinterpretations as thereare viewers, dependingon their perspectives andmotives for examiningthe picture: artist?historian? fashiondesigner? How doesFigure 3make you feel?What would it like to bewalking behind this
Figure 3: What Does ThisConvey?
(Man against snow, Austrian Tirol1974, reproduced with permission of the photographer: Professor PaulHill)