Git Product home page Git Product logo

aria's Introduction

Accessible Rich Internet Applications (WAI-ARIA)

This repository maintains specifications and related publications for the Accessible Rich Internet Applications suite of technologies. This is developed by the ARIA Working Group. The W3C staff contact is Daniel Montalvo. Please do not provide commit access to this repository without coordination.

The default branch has been renamed

If you have a local clone, run the following commands to update the name of the default branch.

$ git branch -m master main
$ git fetch origin
$ git branch -u origin/main main

Other Repositories

This repository is for the main deliverable of the ARIA Working Group, Accessible Rich Internet Applications. There are several other deliverables, such as ARIA modules, Accessibility API Mappings, and support documents. These are maintained in separate repositories listed on the ARIA Contribution page. Please file issues in the repository specific to the specification to which the issue applies.

Contributing to this Repository

Please review the ARIA Process Document for information about how the working group tracks issues and pull request.

Role of Editors

Only formally designated editors have commit access to this repository. Editors are designated by the Working Group Chair and make the following commitments:

  • Execute the consensus of the Working Group regardless of personal opinion;
  • Seek Working Group review of substantive technical issues;
  • In good faith separate editorial issues, which may be addressed without explicit review requests, from substantive issues which require review;
  • Follow the W3C Manual of Style and the Chicago Manual of Style;
  • Follow W3C Editors guidelines.

Non-Editor Contributions

Working Group participants and members of the public without commit privileges may contribute to this repository in the following ways:

Issues can be assigned to people who are members of the ARIA Contributors team. Editors can add people to this team.

When preparing GitHub pull requests:

  • Provide a complete summary and description for each pull request. The Working Group needs to understand the rationale for proposed changes. This description may need to be very detailed in some cases, or may be quite brief, for example if providing a change to address a spelling issue.
  • Following the editorial documentation below will help prepare a pull request that is ready for inclusion with minimal editing.

When a pull request is accepted by the Working Group, an editor will integrate changes. Pull requests and issues that are accepted by the working group will be merged into the source documents and the commenter will receive a notification from GitHub that the pull request was accepted.

Editorial Documentation

Documents in this repository use the Respec preprocessor.

Special Elements and Classes

Role, State, and Property References

The ARIA spec allows easy generation of links to roles, states, and properties, with the right link and styling. Simply enclose the name of the role, state, or property in the following elements:

  • <rref> for roles
  • <sref> for states
  • <pref> for properties

Note: this only works in the ARIA spec. Other specs must use cross references as defined below.

References to Other ARIA Specs

Links with special class attributes allow cross references into other specs in the suite, which are transformed by the script to be the appropriate target for the given publication, so editors' drafts point to other editors' drafts, and TR publications point to other TR publications. This requires some configuration options in the respecConfig and use of special class attributes.

First, for each document that might be referenced, a set of URLs is provided. The URLs are indexed by values of the respec spec status, which ensures the target at the same level of maturity as the current version is used. A typical set of values for the main ARIA spec is:

// Spec URLs
ariaSpecURLs: {
  "FPWD": "http://www.w3.org/TR/wai-aria-1.1/",
  "ED": "http://w3c.github.io/aria/aria/aria.html",
  "WD" : "http://www.w3.org/TR/wai-aria-1.1/",
  "REC": "http://www.w3.org/TR/wai-aria/"
},

Note that even though some of these URIs are redundant, they must all be defined to work in all circumstances. If a document is a First Public Working Draft but the FPWD variant isn't defined, there won't be a match with the specStatus and the links won't work.

The following properties for cross references are currently available (todo: we should add versions for the other docs):

  • ariaSpecURLs: for the main ARIA spec
  • coreMappingURLs: for the Core AAM
  • accNameURLs: for the AccName AAM
  • htmlMappingURLs: for the HTML AAM
  • dpubModURLs: for DPUB ARIA
  • graphicsModURL: for Graphics ARIA
  • graphicsMappingModURL: for Graphics AAM
  • practicesURL: for Practices

The task of fixing up links is done by a script that needs to be hooked in via the following line in the respecConfig:

preProcess: [ linkCrossReferences ]

Once all this is defined in the respecConfig, use the class attribute on the links to activate the script for that link. The value of the href should be the fragment you want to target, i.e,. the hash tag and fragment ID. For example, a link to the list of roles in the ARIA spec would be:

<a href="#role_definitions" class="specref">ARIA roles</a>

If you want to target the main spec, leave the href blank (but present). If you want other classes on the link, e.g., for styling, provide them after the script-hooking class, for instance class="specref role-reference".

The set of class values currently defined are:

  • role-reference: role definitions
  • state-reference: state definitions
  • property-reference: property definitions
  • specref: other targets in the main ARIA spec
  • core-mapping: the Core AAM
  • html-mapping: the HTML AAM
  • accname: the AccName AAM

Todo: we should add versions for the other docs

References to Other W3C Specs

When referencing other W3C specifications such as HTML and DOM, we can take advantage of ReSpec’s xref feature to automatically generate canonical links in context.

In the text below, for example, xref will automatically convert “[^button^]” into a link to the definition of the <button> element in the HTML spec:

A [^button^] performs an operation when pressed.

When authoring text for the ARIA spec, you can search xref’s collection of exported terms to find the correct syntax for the desired specification. By default, the ARIA spec’s xref configuration will attempt to resolve terms for the following specs:

If you wish to reference a spec that is not included in ARIA’s default xref configuration, you must specify it with a data-cite attribute. For example, the following markup references “nullable type” and “DOMString” from the Web IDL spec:

<section data-cite="webidl">
    <p>
        All ARIA attributes reflect in IDL as [=nullable type|nullable=]
        {{DOMString}} attributes.
    </p>
</section>

In some cases, a term may be defined in multiple specifications with the same xref syntax. For example, [=range=]” is defined in both the DOM and Internationalization Glossary specs. The data-cite attribute can also be used in these cases to disambiguate and target the intended spec.

For more information, please refer to xref’s auto-linking external references guide.

Shared Resources

The ARIA repositories share a common set of resources to reduce redundancy. Shared resources are in the aria-common repository, and copied to a "common" folder in this and other ARIA repositories. It is important to make edits in the aria-common repository; making edits in the common folder of another repository will allow the edits to be overridden.

Special Structures

Todo: special characteristics table classes etc. used by the script

Editors' Drafts

Official editors' drafts are published to [https://w3c.github.io/aria/]. This URI is suitable for public references. Documents published to that location are static snapshots from the Respec processor. This is to minimize load time for consumers of these drafts. Editors' drafts are automatically updated (if there are no errors) by a Travis-CI service run when commits are pushed to the master branch.

How ARIA Extension Specs are Built

An extension spec is one that defines additional roles, states, and / or properties that augment the collection defined in the core ARIA specification (aria/aria.html). Extension specs must be built in conjunction with the W3C ARIA WG if any new roles are to be in the default vocabulary space (http://www.w3.org/1999/xhtml/vocab).

When building an extension spec, use the boiler plate provided in aria/template.html as a basis.

Note that this template uses the aria/script/ariaChild.js script. That script knows how to incorporate information from the core ARIA specification into the extension spec so that new roles, states, and properties are well integrated into the overall ARIA taxonomy.

The ariaChild.js script relies upon an input script (aria/script/roleInfo.js). As of today, that file is not automatically generated. If you want to ensure the file is up to date, access the core ARIA spec with the special query string "#saveRoles" from a browser on a client that has write access to the copy of the extension spec you are editing. When the dialog appears, click the save button and tell your browser to save the roleInfo.js file into the aria/script directory.

The scripts to support extension modules are stored in the aria-common repository. Therefore, updates to roleInfo.js must be saved and committed to that repository, even though they are generated from content in this repository.

Style guidelines

Document style

  • There should always be introductory content before starting subsections.
  • Sequences of steps use ordered lists, the first paragraph of which labels the step and is in a <strong>; subsequent block elements are the content for the step.
  • Preformatted examples should "pretty-print" the example to be less than 80 characters wide, and indent the code using 2 space characters per indent step. Wrap within an element tag with an extra indent. Use line break characters, not <br/> elements, for new lines. Add extra line spacing as useful. They use the class "example". Use the Code Sample Expander tool to assist with this.
  • Keyboard characters should be in kbd elements.
    • Spell out keys such as "control", "shift", "command", "option", "alt", "insert", "pageup", "enter", etc.
    • Use plus as delimiter for keys that are pressed together, e.g., control+v
    • Use comma as delimiter for keys that are pressed in sequence, e.g., insert, m
  • Language elements should be in code elements.
  • The first reference in a section to a role or state should be linked to the role or state with the appropriate class. Subsequent references needn't be referenced, but may be in certain circumstances.
  • repeated links to aria features should just be in <code>, not in cross-reference links (just link first time)
  • Headings use title case.
  • "step" headings, the bold sentence at the start of a numbered list item in a list of steps, are sentence case and not marked as an actual hx element. They should summarize what the following paragraphs get into.
  • Subheadings: only use sub-headers (<h{x+1}> following <hx>) if there are at least two of them. If there isn't more than two sub-sections, it isn't a sub-section and should be integrated into the parent section.
  • Lists: only use lists of two or more items. If it's only one item, it isn't a list and should have a different semantic.
  • Terms like "Web" are capitalized when it's "the Web", but not when referring to "web applications". Same for "internet, rich internet applications".
  • Synopsize the meaning of abbreviations and glossary terms the first time they are used in a section.
  • Acronyms we don't expand (but wrap in <abbr> elements):
    • API
  • Acronyms we do expand (don't use the acronym)
    • RIA (use rich internet application)
    • AT (use assistive technology)
  • Cross reference links don't include section numbers.
  • Refer to states and properties in prose as "attributes", not as "states" or "properties" in order to be less confusing. (though they're still formally states or properties)

Preferred terminology

  • When referring to an instance of a role, use "element with a role of X", not "X role" or "X element". "X role" refers to role in the taxonomy itself; "X element" is not technically meaningful.
  • "Assistive technologies" is plural, not singular.
  • Use "WAI-ARIA" instead of "ARIA", to avoid trademark confusion.
  • Use "text alternative" instead of "text equivalent" or the like, for consistency with WCAG 2.0 usage.
  • Reference "DOMClick" instead of "DOMActivate" which is going to be deprecated or made optional.

Specification rules

  • Descendants of the composite role MUST NOT have the "nameFrom" value of "contents" set.
  • The composite role and its descendants MUST NOT have a childrenArePresentational value of "true".

Quality Assurance Checklist

In general, but particularly when preparing documents for TR publication, editors should check the following quality points:

Semi-Automated Checking

There was some automated checking available, previously run by XSLT. This feature may be restored. This report helped determine the following potential issues:

  • When inheritance of roles change, the states they support may change. The tools will indicate when there is a change of supported states by comparison to an earlier version of the spec. It is a manual decision whether the changes are desired or if the set of supported states needs to be updated.
  • Ensure that supported state not defined if the state is also inherited
  • Check that the role spec and the UML Class Diagram express the same thing
  • Roles list only supported states that are defined
  • States indicate applicability only to roles that are defined
  • Roles and states cross reference each other: roles indicate supported states, and those states indicate applicability to those roles; discrepancies called out for manual attention

aria's People

Contributors

a11ydoer avatar aleventhal avatar ameliabr avatar ariellalgilmore avatar boggydigital avatar carmacleod avatar cookiecrook avatar cyns avatar giacomo-petri avatar github-actions[bot] avatar halindrome avatar iherman avatar innovimax avatar jasonkiss avatar jnurthen avatar joanmarie avatar jongund avatar klown avatar mattgarrish avatar mcking65 avatar pkra avatar plehegar avatar richschwer avatar saschanaz avatar schne324 avatar scottaohara avatar smhigley avatar spectranaut avatar stevefaulkner avatar tzviyasiegman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aria's Issues

DPUB "notice" role should have clarifying text and/or a required context role

In the context of published content, an object of role "notice" seems a lot like a tip or comment or annotation. Presumably a non-interactive one.(?) In the context of a web application, however, a "notice" might be something that pops up when you give focus to a password field to let you know Caps Lock is locked or that you're about to be logged out from your banking site. In the former case, a screen reader might want to provide a means to navigate to it on demand; in the latter case, the screen reader should potentially announce it automatically. In the former case, on my platform, the mapping would be ATK_ROLE_COMMENT; in the latter case ATK_ROLE_NOTIFICATION.

The current definition of role "notice" doesn't say anything about whether or not a "notice" is interactive or not, whether a screen reader should automatically present it or not, in what context it should appear or not. I think it would be helpful if such text was added for content/app, user agent, and AT developers.

Code standard

We need to decide on a couple of rules for our code examples. From today's meeting:

  • indentation should be four spaces;
  • use semi-colons;
  • use all caps for constants.

APG: Need for an abstract page description

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0002.html by David Power [email protected]

Hi

I've just briefly looked through your authoring practices pages, and I'm
struggling to find any support for my following issue:

As a Visually Impaired Person, it can be difficult to find out quickly how
to use a particular page as there can be several forms, or different types
of content.

Is there something equivalent to a role definition for "abstract" where the
page authors could put something like the following text to explain to a
Visually Impaired Person how to use the web page where they are relying on
screen reader technology which includes functionality to jump to page
content based on html tags/aria roles? For example:

            "This page is the second step in the ordering process where

you can select the book(s) you would like to read. The description of each
book starts with a level 2 header. The description includes: the title,
author, price, a brief synopsis, and available formats. If you want to
order the book, click on the link associated with the book title. If you do
not find the book you are after, please go back to the previous search
page."

My issue is that this type of content is not required for people with normal
vision as they can appropriate the entire page content rather than
navigating an HTML element level.

Regards

Dave Power

DPUB: abstract role is confusing

Having an "abstract" role is confusing. The ARIA spec contains the following text
Abstract roles are used for the ontology. Authors MUST NOT use abstract roles in content.
The spec then defines a role="abstract"

This WILL confuse authors. The abstract role must be renamed.

WAI-ARIA 1.1: grid and table

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0005.html by Sailesh Panchang [email protected]

A grid as defined is "An interactive control which contains cells of tabular data arranged in rows and columns, like a table".
Therefore, it has a data-table semantic and not semantic of role=none / presentation.
So, does "Grids do not necessarily imply presentation" mean that grids do not imply mere presentational content like a layout table. They always describe relationship.

Table: Need to clarify or emphasize that this always has a semantic of a data table.
Because, when one explicitly sets role=table, one cannot set role=none/presentation.
This is distinct from a native HTML table that can have role=none/presentation.
Thanks,
Sailesh Panchang

DPUB: Should there be an "endnotes" role?

Feel free to say "no" and close this. :) But with all of the other roles for parts of publications, the lack of endnotes struck me as curious. So I'm asking via issue. :)

DPUB User Agent Support typo

In the (static) editors draft, section 1.2 paragraph 4, there is the word 'elemnts'. It should be 'elements'.

Also in the same paragraph, sentence 1 uses the word 'intent' twice. It might be more powerful if the word were not repeated.

WAI-ARIA 1.1: aria-roledescription

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0007.html by Sailesh Panchang [email protected]

Refer to example #27/28 where this ARIA property has been set to "slide" on an element identified by an aria-labelledby.
Should the aria-labelledby text not identify this as a slide like " Quarterly Report ...slide 2 of 12"?
Else, there may be some preceding content before the slides that informs the user that a slide presentation follows and the slide identifier is "Quarterly Report ... 2 of 12".
And in example 29/30: :
Generally one advises developers not to label a button element as "Register button" because screen readers will voice the text "button" twice: once as a role identifier and once as the element's name.
So in this example will button not be duplicated?
In this case, "attachment button" does not convey the button's purpose. Should it be "download attachment"?
In which case, this should be conveyed as part of the button's accessible name, no?
So really from the description of the property or examples, I am not clear about the usage of aria-roledescription.
Or, is the aria-roledescription meant to override the element's role that is exposed to AT? If yes, this is not clear from the description.
Is it meant to work like a "hint" as we see in iOS and OSX with VoiceOver? At present the aria-description is exposed as a hint. Will this new property cause confusion for makers of user agents / At?
It is quite likely that developers will be very confused. Many are overwhelmed and unsure of what text goes into the different attributes for naming / describing elements and what takes precedence.
Thanks,
Sailesh Panchang

dpub-noteref might be better captured as a rel

The dpub-noteref is basically typing a link. It so happens that there is an attribute for that: rel. It is worth taking the time to think about whether rel=footnote would not be a better option. It has been proposed before; I am not aware of strong opposition, I think it hasn't happened mostly due to relatively low interest.

DPUB spec role definitions should use a standardized prefix such as "dpub-*"

Each of these roles should use the dpub- prefix to avoid confusion and name collision with the main ARIA spec. If they are useful enough for mainstream adoption, we can coordinate the names when the roles are pulled into the main ARIA spec. e.g. dpub-chapter would very likely be adopted as an unprefixed ARIA role "chapter", but "dpub-locator" is still just a link and would likely never be brought into the main spec. Authors can specify these today as role="dpub-locator link" (this is a valid ARIA 1.0 syntax) and the UAs will fall back to the link role appropriately, while still allowing parsers access to the dpub-specific role.

required context role is misused throughout DPUB draft

Required context is the parent context role, but the examples are mismatched. For example, "biblioentry" has a required context of "bibliography" but it's used here in the context of "list", not "bibliography"...

<section role="bibliography">
   <h1>Cited Works</h1>
   <ul>
      <li role="biblioentry" id="b8cab5dd-bc24-459c-9858-7afa9da69b64">
         John Steinbeck, The Grapes of Wrath (New York: The Viking Press, 1939)
      </li>
      …
   </ul>
</body>

The list's required owned may be satisfied by having biblioentry subclass listitem, but then the list or the bibliography in this example is left hanging. You could try moving the role from the <section> to the <ul>, but then you may not get the landmark subclass you were hoping for.

WAI-ARIA 1.1: role= None and role=presentation

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0004.html by Sailesh Panchang [email protected]

I suggest two alternatives with my preference for the first:
i. If the perception is that developers do not understand use of role=presentation, then the solution is to clarify its usage in the specs / education material. Makers of user agents / AT should not be required to make a change if they already support role=presentation.
ii. Sure role=none makes better sense than role=presentation from a wording / semantic perspective.
Instead of retaining role=presentation, consider deprecating role=presentation.
Deprecating it will give a clear signal to makers of user agents / AT and in the interim, validators can flag "warning" for role=presentation.
Defining two roles with identical functionality will make it difficult for makers of user agent / AT. Some will support it sooner or later or not at all. They may not regard supporting role=none as critical if they already support role=presentation.

Developers will need to cope with this problem by setting role=presentation and role=none to deal with user agent variations.

Thanks,
Sailesh Panchang

DPUB spec role definitions should use a standardized prefix such as "dpub-*"

Each of these roles should use the dpub- prefix to avoid confusion and name collision with the main ARIA spec. If they are useful enough for mainstream adoption, we can coordinate the names when the roles are pulled into the main ARIA spec. e.g. dpub-chapter would very likely be adopted as an unprefixed ARIA role "chapter", but "dpub-locator" is still just a link and would likely never be brought into the main spec. Authors can specify these today as role="dpub-locator link" (this is a valid ARIA 1.0 syntax) and the UAs will fall back to the link role appropriately, while still allowing parsers access to the dpub-specific role.

Structural roles for floating boxes

Premise: RASH, the Research Article in Simplified HTML format, available on github at http://github.com/essepuntato/rash, is an HTML-based markup language for scholarly articles that has been already used in academic events (e.g., SAVE-SD 2015, http://cs.unibo.it/save-sd/2015/index.html). The new version of RASH will use the structural roles defined in the Digital Publishing WAI-ARIA Module 1.0 – W3C Editor's Draft.

In RASH there exist four different kinds of floating boxes (specified through the element "figure"), i.e.: figure box, table box, formula box, and listing box. As you can image, these are used to define referenceable boxes like it happens in other document-oriented languages such as LaTeX, ODT, etc.

In the version of RASH that will publish soon, these are specified by using the following roles (still by means of the attribute @ROLE on "figure" elements): "picturebox", "tablebox", "formulabox" and "listingbox", e.g.:

<figure id="figure_1" role="picturebox">
    <p>
        <img src="img/rash.png" alt="The RASH logo!"/>
    </p>
    <figcaption>Caption of the figure.</figcaption>
</figure>

There is the possibility of adding some particular and official role in [DPub] that enables one to handle these specific structures?

Note that the disambiguation based on the content of "figure" can not hold sometimes, if, for instance, I want to express similar boxes with different kinds of contents. In RASH, that is the case of formulas, that can be expressed by means of either MathML or image, i.e.:

<figure id="formula_1" role="formulabox">
    <p>
        <img src="img/formula.png" alt="[a + b]^260 + [a + b]_i"/>
    </p>
</figure>

and

<figure id="formula_1" role="formulabox">
    <p>
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
                <msup>
                    <mfenced open="[" close="]">
                        <mrow>
                            <mi>a</mi>
                            <mo>+</mo>
                            <mi>b</mi>
                        </mrow>
                    </mfenced>
                    <mn>260</mn>
                </msup>
                <mo>+</mo>
                <msub>
                    <mfenced open="{" close="}">
                        <mrow>
                            <mi>a</mi>
                            <mo>+</mo>
                            <mi>b</mi>
                        </mrow>
                    </mfenced>
                    <mi>i</mi>
                </msub>
            </mrow>
        </math>
    </p>
</figure>

Editorial comments on WAI-ARIA 1.1

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0000.html by Momdo Nakamura [email protected]

Hello,
I send following comments for WAI-ARIA 1.1 (Working Draft 14 May 2015).

  1. section 1
    The draft says "WAI-ARIA Authoring Practices [WAI-ARIA-PRACTICES], a planned W3C Working Group Note, ", but [WAI-ARIA-PRACTICES] is now W3C Recommendation.

  2. command (abstract role) in section 5.4
    The HTML5 spec doesn't define command element.

  3. columnheader (role) in section 5.4

Applying the aria-selected state on a columnheader MUST not cause the user agent to automatically propogate the aria-selected state to all the cells in the corresponding column.
"propogate" is maybe misspelling.

  1. contentinfo (role) in section 5.4
    In note section, missing closed parenthesis.

  2. link (role) in section 5.4

(such as an HTML anchor with an href value value).
What is "value value" ? This pattern is found in several places.

  1. aria-describedat in section 6.4
    The draft says "longdesc in HTML 4[HTML401]" on characteristics table, but now we know HTML5 Image Description Extension spec is W3C Recommendation.
    http://www.w3.org/TR/html-longdesc/

  2. aria-label (property) & aria-labelledby (property)

Related Concepts: A related concept is title in HTML [XHTML11].
While "HTML" link is expected XHTML 1.1 spec, the draft actually links to XHTML1.
I feel that linking to HTML4, XHTML1 and XHTML11 in the draft can be replaced with HTML5.

  1. A.2 WAI-ARIA Attributes Module

This module is available from http://www.w3.org/MarkUp/DTD/aria-attributes-1.mod.
In my view, it is not necessary for DTD to mark up abbr element with URL.

  1. B. Mapping WAI-ARIA Value types to languages
    HTML 5's column links are too old.

  2. F. References
    The draft cites " Mathematical Markup Language (MathML) 1.01 Specification", but now the latest MathML spec is 3.0 2nd Edition.

Thanks and regards,
Nakamura, Momdo

DPUB: title role seems badly named

The title role looks to be much more like a caption. I am concerned about confusion with the title element and the title attribute to add a role of title which conflicts with both of them.

Need: ~"User Agents MAY ignore user-triggered changes to live regions, such as typing in text fields."

We've gotten a bug report against WebKit that VO repeats every character of a text field on Facebook.com. After investigating, the text field is placed inside an ARIA live region.

The spec ~"every change that affects the accessible label" should trigger a live region alert, but I think there should be an exception for user triggered changed like typing.

This is probably an single-sentence "User Agents MAY" change.

DPUB: Consider doc- prefix

It's been noted at times that the current dpub- prefix may not be easily digestable, especially by a broader audience than the initial publishing community that we're targeting, as it may seem too specialized.

One idea for generalizing would be to use the prefix doc- instead, since these are primarily document structures (even if the documents get wrapped up into publications). It also makes for a better mnemonic, as it more clearly reflects the intended usage domain of the attached roles.

DPUB: Shouldn't role "part" require an accessible name?

The definition of role "part" is currently "A major structural division in a work that contains a set of related sections dealing with a particular subject, narrative arc or similar encapsulated theme." To me that sounds like something we'd want content creators to provide an accessible name for. (Right?)

DPUB module: role statement

As per yesterday's DPUB ARIA call, I'm creating this issue to document the discussion that happened on the DPUB ARIA and DPUB lists a while ag -- see https://lists.w3.org/Archives/Public/public-dpub-aria/2015Feb/0007.html and https://lists.w3.org/Archives/Public/public-dpub-aria/2015Feb/thread.html for the latest thread.

I'm sorry if I'm not yet able to phrase this in spec-terminology -- please let me know what needs improving.

To quote my last post (though I still wasn't sure if that's anywhere close to what the spec needs).

"A declaration or remark of formal/"outstanding" character, such as a
presentation of opinion or position, an experimental
hypothesis/setup/result, a jurisprudential ordinance/ruling/statute, a
mathematical definition/example/theorem."

For the record, I never got feedback from on the thread on this attempt --so hopefully this can continue here. Maybe a bit tighter:

A declaration or remark of formal or "outstanding" character (e.g., a presentation of opinion or position; a definition or example; a scientific hypothesis or result; a jurisprudential ordinance or ruling, a mathematical theorem.)

Trying myself at the formal aspects of the spec:

  • Superclass Role:section
  • Related Concepts: NLM/JATS/BITS <statement> element (But to be extra clear, nobody is suggesting an HTML element -- this is about a role in the DPUB ARIA modules.)
  • Name From: author

(Don't quite understand the rest yet.)

To summarize the rest of the discussion here as well:

  • A statement is minor structural division in a work, typically encapsulated in a major division.
  • is part of the overall flow (i.e., not an aside)
  • is often distinguished from the surrounding content (often typographically but sometimes just semantically, e.g., when inside a paragraph)
  • is nota duplication (i.e., not a pull quote)
  • will often be referenced elsewhere (in particular, often comes with a heading, id etc).
  • is often aggregated in some form of index (similar to table of figures, table of tables).
  • is similar to figures except it's more textual and not floating.
  • Use cases:
    • law (judicial ruling, statute, ordinance, etc.)
    • sciences (hypothesis, experiment, result, example, ansatz)
    • standards publishing (e.g. marking up formally defined terminology)
    • mathematics (example, definition, theorem, proof, lemma, corollary)
    • humanities (opinion, position, postulate).
  • In an HTML5 context, I'd expect this role would typically be applied to <section>,<p>, <div>,<span>.

I'd add after yesterday's discussion that the testing roles (learning-outcome, learning-objective, question, answer etc.) seem to be cases of statement which hopefully strenghtens the case for it.

Using the form’s role attribute

There has been a twitter conversation that started by an Validator warning:

<form role="search">

Warning: Element form does not need a role attribute

Now I know that it violates the second rule of ARIA use:

Do not change native semantics, unless you really have to.

Yet the specifications do not facilitate that and there seems to be no indication that this behavior is wrong, for example:

Now, a validator warning is not an error, and developers can chose to ignore it. On the other hand having <form role="search"> seems to feel natural for many people (including me when I first heard about the search role a few years back).

What one could do:

  • Make search a subclass of form (if even possible) and get rid of the validator warning. (That may have implications in the current implementations of AT.
  • Outlaw any roles on form (but presentation, I suppose) for HTML5.1 and have the validator display an error.
  • (… other ideas welcome …)

At least the WCAG technique should be changed to reflect best practices (see w3c/wcag#113)). There is no indication (but it hasn’t been sufficiently tested) that <form role="search"> breaks AT support, but it feels like this is a glitch in the ARIA matrix that should be clarified.

Related: See @aardrian’s blog post on this issue: Where to Put Your Search Role

(Thanks to the input @rogerjohansson, @aardrian, @LJWatson, @stevefaulkner, @cptvitamin and others.)

WAI-ARIA 1.1: Couple of editorial issues

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0006.html by Sailesh Panchang [email protected]

i. The following are abstract but not tagged as such in the list of role definitions
command, composite, landmark, section, sectionhead, select, structure, widget, window
ii. The individual roles (in the section with descriptions for every role) are marked up as h3 ... same level as its parent 5.4. They should be h4.
Thanks,
Sailesh Panchang

WAI-ARIA 1.1: Cell and gridcell

Filed at https://lists.w3.org/Archives/Public/public-pfwg-comments/2015JulSep/0003.html by Sailesh Panchang [email protected]

The description of gridcell includes quite a few references to "cell". After all, a gridcell is a cell and is contained within a row.
A cell can belong to a table or grid or treegrid and be editable or not depending on the parent container.
This will also be in line with The specs that have a single columnheader and rowheader role and not one pair for role=table and one pair for role=grid.
Instead of retaining role=gridcell, consider deprecating "gridcell and defining "cell" with the same description used for gridcell.
Deprecating it will give a clear signal to makers of user agents / AT and in the interim, validators can flag "warning" for role=gridcell.
Makers of user agents / At will need to be urged to implement this change once ARIA 1.1 becomes a recommendation.
Defining two roles with identical functionality will make it difficult for makers of user agent / AT. Some will support it sooner than later and developers will need to cope with this problem.
Thanks,
Sailesh Panchang

APG guidance for touch devices

We need to address the problem of design pattern accessibility on touch screen devices. Touch ATs intercept all touch gestures. Only click/blur/focus are handled reliably - and they're not sufficient to support interaction with complex widgets like trees.

We should look to include guidance that surfaces these shortcomings, and indicate which of the design patterns will/won't work on touch devices with ATs enabled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.