Your SlideShare is downloading. ×
W3 C Specification For Interoperability And Accessibility For Ajax, Dhtml, Xml  Etc    Based On Rdf Taxonomy
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

W3 C Specification For Interoperability And Accessibility For Ajax, Dhtml, Xml Etc Based On Rdf Taxonomy

4,622
views

Published on

מצגת ממפגש מפתחים #1 - פיתוח אתרים ואפליקציות מבוססי טכנולוגיות סמנטיות (3 בפברואר, 2010) …

מצגת ממפגש מפתחים #1 - פיתוח אתרים ואפליקציות מבוססי טכנולוגיות סמנטיות (3 בפברואר, 2010)

http://www.w3c.org.il/article/semanticweb

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,622
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ARIA Lisa Seeman, W3C invited expert W3C specification for interoperability and accessibility for AJAX, DHTML, XML Etc… Based on RDF Taxonomy
  • 2. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A solution
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 3. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A solution
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending Roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 4. What is the Problem?
    • Why can’t users with disabilities/ unusual device access all websites?
    • If content and functionality assume a screen and a mouse
    No use of images without proper definition and clarification Old Alt tag static Use headers (H1..) Avoid use of scripts No use of “normal” multimedia/Flash
    • New
    • Add semantics (
        • S tructure,
        • Role
        • state
    • Make focus keep with flow of the page
    • Keep elements inside of the DOM
  • 5. Problems with DHTML
    • Lack of knowledge, lack of Semantics
    • What things are
    • What they are doing
    • What the relationships are
    • Focus
  • 6. How Accessibility Works
  • 7. Accessible Tree - Firefox
    • Subset of the DOM tree
    <table> <html> <td> # text <p> <a> <i> #text <td> #text
    • Exposed as MSAA or ATK
    • Name: e.g. “click here”
    • Role: ROLE_LINK
    • States:
    • STATE_FOCUSABLE |
    • STATE_FOCUSED |
    • STATE_LINKED |
    • STATE_TRAVERSED
    #text < div > #text <div role=“”> <tbody> <tr> #text
  • 8. To Summarize the Problem
    • We Need Semantics !!!!!
    • Let us know what we have and what is happening
  • 9. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A solution
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 10. Core Concepts – Semantic Web
    • Additional layers of information
      • Meaning to terms
      • Links to relevant information
      • Links to relevant people
    • Allow software agents to manipulate this information
    • Ontology defines terms
  • 11. Simplified RDF
    • <RDF> <Description about=&quot;http://www.ubaccess.com/SWAP&quot;>
    • <author>Lisa</author>
    • <updated datatype=“year”>2006</updated> </Description>
    • </RDF>
    • http://www.ubaccess.com/SWAP author Lisa
    • http://www.ubaccess.com/SWAP updated 2006
    SWAP Author Lisa
  • 12. Core Concepts – RDF
    • RDF is a protocol of the semantic web
    • Uses graph logic
    • Intelligent semantics
      • Define terms
      • Define relationships
      • Make statements
      • Make inferences
  • 13. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A solution
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 14. ARIA Taxonomies
    • Roles can be used to build accessible applications by providing any missing information that the assistive technology needs to anticipate the behavior of the elements inside the application.
    • For example, to support accessibility the browser may create accessible objects of a web page though the Accessibility API of the operating system. When the full semantics are provided and understood by the browser, the application will properly map the page to accessible objects of the operating system.
  • 15. Roles
    • What the thing is
    • Things that do not change in a session
    • Uses RDF to describe relationships
    • Example: This is a checkbox
    • RDF: A check box is a form of select, can be checked, etc…
  • 16. Relationships
    • Why are relationships important?
    • What it is
      • describedby , labeledby
    • Hierarchical
      • Haspopup
    • Control
    • Flow
    • Group structure
      • Tree, group, region (roles)
  • 17. States and Author-Settable Properties
    • Things that can change in the session
    • System and author changeable
    • Changes in state
    • User changeable
  • 18. Roles and States, Examples
    • Role is a …. tree group, tree item, Grid, checkbox
    • And is labeledby, flowto, controls,
    • And live ....
    State … Checked, pressed, value, selected
  • 19. How Accessibility Works
  • 20. How does that help?
    • Roles:
      • Map to the right MSAA object ( ROLE_MENUITEM or ROLE_LINK)
      • And to right states (STATE_FOCUSABLE, STATE_CHECKABLE)
    • States and properties: Scripts activate on toggled states that AT can understand and respond to. It exposes the state information. AT can know what is going on and can tell user
      • valuenow maps to EVENT_VALUE_CHANGE
      • aria-checked aria-expanded aria-readonly
      • aria-disabled maps to EVENT_STATE_CHANGE aria-required aria-invalid
      • aria-describedby
  • 21. A Simple Example
    • <?xml version=&quot;1.1&quot; encoding=&quot;us-ascii&quot;?>
    • <!DOCTYPE html PUBLIC &quot;Accessible Adaptive Applications//EN&quot; http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;>
    • <html lang=&quot;en&quot;> <head> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot;> </head>
    • <body>
    • <p>Here's a checkbox that you can click on.</p>
    • <div> <span class=&quot;checkbox&quot; id=&quot;chbox1&quot; role=&quot;checkbox&quot; aria-checked=&quot;true&quot; onkeydown=&quot;return checkBoxEvent(event);&quot; onclick=&quot;return checkBoxEvent(event);&quot; > Include decorative fruit basket </span> </div>
    • </body>
    • </html>
  • 22.  
  • 23. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A simple example
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 24. Focus
    • Choices for elements normally not focusable:
    • Tab key focusable tabindex >= “0”
    • Script - or click - only tabindex <= “-1”
    • Not focusable default / no tabindex
    • Works with flowTo
  • 25. Building Accessible Applications
    • Step 1: Use your native mark up as well as you can
    • Step 2: Find the right roles
      • Set roles to make sure elements behave predictably and correctly describes the behavior of each element within your application (unless elements behaviors are fully described by the native markup language).
    • Step 3: Look for groups
      • Look for groups within a page, and mark them using the most appropriate role that best describes their usage.
    • Step 4: Build relationships
      • Sometimes the relationships can be made clear via the native mark up language.
      • Sometimes this can be implied via the DOM.
      • In other cases, use the States and Properties. For example: aaa:property in region B to reference region A.
    • Step 5: Set properties
      • Set properties until the behavior of the element is defined and described (such as aaa:required aaa:live)
      • Control the behavior of the element using device independent events, states, and properties.
      • Set Focus
  • 26. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A simple example
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 27. RDF owl:ObjectProperty
    • <owl:ObjectProperty rdf:ID=&quot; mustContain &quot;> <rdfs:comment xml:lang=&quot;en&quot;>A child that must be contained by this role</rdfs:comment> <rdfs:subpropertyOf rdf:resource=&quot;#scope&quot;/> </owl:ObjectProperty>
    • <owl:ObjectProperty rdf:ID=&quot; supportedState &quot;> <rdfs:comment xml:lang=&quot;en&quot;>A state that can be supported for this Role</rdfs:comment> <rdfs:domain rdf:resource=&quot;#roletype&quot;/> </owl:ObjectProperty>
    • <owl:ObjectProperty rdf:ID=&quot; requiredState &quot;> <rdfs:comment xml:lang=&quot;en&quot;>A state that must be provided for this Role</rdfs:comment> <rdfs:subpropertyOf rdf:resource=&quot;#supportedState&quot;/> <rdfs:domain rdf:re source=&quot;#roletype&quot;/> </owl:ObjectProperty>
  • 28. RDF - Using Properties in owl:Class
    • <owl:Class rdf:ID=&quot;combobox&quot;>
    • <rdfs:subClassOf rdf:resource=&quot;#select&quot;/>
    • <rdfs:seeAlso rdf:resource=&quot;http://www.w3.org/TR/html401/interact/forms.html#edef-SELECT&quot;/>
    • <rdfs:seeAlso rdf:resource=&quot;http://www.w3.org/TR/2007/REC-xforms-20071029/#ui-selectMany&quot;/>
    • <role:nameFrom>author</role:nameFrom>
    • ………
    • < role:mustContain rdf:resource=&quot;#listbox&quot;/>
    • < role:mustContain rdf:resource=&quot;#textbox&quot;/>
    • < role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa#aria-required&quot;/>
    • < role:requiredState rdf:resource=&quot;http://www.w3.org/2005/07/aaa#aria-expanded&quot;/>
    • </owl:Class>
  • 29. Base Class
    • <owl:Class rdf:ID=&quot;roletype&quot;>
    • <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource=&quot;http://dublincore.org/2003/03/24/dces#description&quot;/> <owl:cardinality rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#string&quot;>1</owl:cardinality> </owl:Restriction> </rdfs:subClassOf>
    • …… ..
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-controls &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-describedby &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-disabled &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-dropeffect &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-flowto &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-grabbed &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa#a ria-labe l&quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-labelledby &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-live &quot;/>
    • <role:supportedState rdf:resource=&quot;http://www.w3.org/2005/07/aaa# aria-owns &quot;/>
    • …… .
    • </owl:Class>
  • 30. A Simple Example
    • Web Page
    • <body>
    • <p>Here's a checkbox that you can click on.</p>
    • <div> < span class=&quot;checkbox&quot; id=&quot;chbox1&quot; role=&quot;checkbox&quot;
    • aria-checked=&quot;true&quot; onkeydown=&quot;return checkBoxEvent(event);&quot; onclick=&quot;return checkBoxEvent(event);&quot; > Include decorative fruit basket </span> </div>
    • </body>
    Schema <owl:Class rdf:ID=&quot;checkbox&quot;> <rdfs:subClassOf rdf:resource=&quot;#input&quot;/> …..<role:requiredState rdf:resource=&quot;http://www.w3.org/2005/07/aaa#aria-checked&quot;/> </owl:Class>
  • 31. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A simple example
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 32. How to Extend
    • Choose sensible inheritance
    • Provide a title and description for your role
    • Ensure that all supported states are explicit
    • Define the anticipated content and scope of the role
    • Define any related concepts
    • Set defaults when appropriate
        • Example:
        • …… Compare to making accessible applications
  • 33. Using Datatype and Groups Group container labeled “ date chooser” Contains combobox labeled day Datatype =Day Contains combobox labeled month Datatype = Month Contains combobox labeled year Datatype = gyear
  • 34. Extend Roles If …
    • Groups, a title and description will not complete the missing information, such as supported states.
      • Need to define composite roles
      • Need to define more nodes (states, roles) or relationships
    • Understand RDF over UML
    • Cost = support and complexity, performance
    • Do you best to overcome barriers to entry
  • 35. Contents
    • Making it Simple – an XML Specification
      • Getting started
        • The problems; the solution
        • Background technology
        • A simple example
      • More detailed
        • Focus
        • Relationships
    • RDF
      • The RDF Specification
      • Extending roles
      • Why RDF
    Ask Questions Don’t let it go too fast
  • 36. Why you might use RDF …
    • You need best knowledge - Life is a graph not a tree
    • You don’t know what question will be asked in the future – Infer, not access
    • Your structure can evolve - New type of properties, New types of nodes
    • You might not think of everything - Like me
    • RDF comes naturally (Graphs and relationships not just trees and hierarchy !!!!)
  • 37. Required Office Interactions Programmer 1 Accounts Programmer 1 Product manager CEO Account manager Office manager Project manager
  • 38. Why RDF - Revisited
    • Life is not neat
    • Life is informal
    • Better relationships better knowledge more power
    • Better evolve-ability better knowledge
    • The real world is a graph not a tree
    • Warning: Barrier to entry, performance
    • (our solution – keep simple things simple)
  • 39. To Conclude
    • See:
      • http://www.w3.org/TR/wai-aria/
      • http://www.w3.org/TR/wai-aria/rdf_model
      • www.w3.org/TR/rdf-primer/
      • Any other questions? lisaEseeman@gmail.com
    • Thank You