feat(aria): introduce role utils (#12916)

This includes aria role and accessible name computation.
Accessible name is covered by wpt tests.
This commit is contained in:
Dmitry Gozman 2022-03-21 17:26:45 -07:00 committed by GitHub
parent 7f51336068
commit dea6528c0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
153 changed files with 11536 additions and 4 deletions

View File

@ -24,6 +24,7 @@ import { CSSComplexSelectorList } from '../common/cssParser';
import { generateSelector } from './selectorGenerator';
import type * as channels from '../../protocol/channels';
import { Highlight } from './highlight';
import { getElementAccessibleName } from './roleUtils';
type Predicate<T> = (progress: InjectedScriptProgress) => T | symbol;
@ -111,6 +112,9 @@ export class InjectedScript {
this._setupGlobalListenersRemovalDetection();
this._setupHitTargetInterceptors();
if (isUnderTest)
(window as any).__injectedScript = this;
}
eval(expression: string): any {
@ -1066,6 +1070,11 @@ export class InjectedScript {
}
throw this.createStacklessError('Unknown expect matcher: ' + expression);
}
getElementAccessibleName(element: Element, includeHidden?: boolean): string {
const hiddenCache = new Map<Element, boolean>();
return getElementAccessibleName(element, !!includeHidden, hiddenCache);
}
}
const autoClosingTags = new Set(['AREA', 'BASE', 'BR', 'COL', 'COMMAND', 'EMBED', 'HR', 'IMG', 'INPUT', 'KEYGEN', 'LINK', 'MENUITEM', 'META', 'PARAM', 'SOURCE', 'TRACK', 'WBR']);

View File

@ -0,0 +1,611 @@
/**
* Copyright (c) Microsoft Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { closestCrossShadow, enclosingShadowRootOrDocument, parentElementOrShadowHost } from './selectorEvaluator';
function hasExplicitAccessibleName(e: Element) {
return e.hasAttribute('aria-label') || e.hasAttribute('aria-labelledby');
}
// https://www.w3.org/TR/wai-aria-practices/examples/landmarks/HTML5.html
const kAncestorPreventingLandmark = 'article:not([role]), aside:not([role]), main:not([role]), nav:not([role]), section:not([role]), [role=article], [role=complementary], [role=main], [role=navigation], [role=region]';
// https://www.w3.org/TR/wai-aria-1.2/#global_states
const kGlobalAriaAttributes = [
'aria-atomic',
'aria-busy',
'aria-controls',
'aria-current',
'aria-describedby',
'aria-details',
'aria-disabled',
'aria-dropeffect',
'aria-errormessage',
'aria-flowto',
'aria-grabbed',
'aria-haspopup',
'aria-hidden',
'aria-invalid',
'aria-keyshortcuts',
'aria-label',
'aria-labelledby',
'aria-live',
'aria-owns',
'aria-relevant',
'aria-roledescription',
];
function hasGlobalAriaAttribute(e: Element) {
return kGlobalAriaAttributes.some(a => e.hasAttribute(a));
}
// https://w3c.github.io/html-aam/#html-element-role-mappings
const kImplicitRoleByTagName: { [tagName: string]: (e: Element) => string | null } = {
'A': (e: Element) => {
return e.hasAttribute('href') ? 'link' : null;
},
'AREA': (e: Element) => {
return e.hasAttribute('href') ? 'link' : null;
},
'ARTICLE': () => 'article',
'ASIDE': () => 'complementary',
'BLOCKQUOTE': () => 'blockquote',
'BUTTON': () => 'button',
'CAPTION': () => 'caption',
'CODE': () => 'code',
'DATALIST': () => 'listbox',
'DD': () => 'definition',
'DEL': () => 'deletion',
'DETAILS': () => 'group',
'DFN': () => 'term',
'DIALOG': () => 'dialog',
'DT': () => 'term',
'EM': () => 'emphasis',
'FIELDSET': () => 'group',
'FIGURE': () => 'figure',
'FOOTER': (e: Element) => closestCrossShadow(e, kAncestorPreventingLandmark) ? null : 'contentinfo',
'FORM': (e: Element) => hasExplicitAccessibleName(e) ? 'form' : null,
'H1': () => 'heading',
'H2': () => 'heading',
'H3': () => 'heading',
'H4': () => 'heading',
'H5': () => 'heading',
'H6': () => 'heading',
'HEADER': (e: Element) => closestCrossShadow(e, kAncestorPreventingLandmark) ? null : 'banner',
'HR': () => 'separator',
'HTML': () => 'document',
'IMG': (e: Element) => e.getAttribute('alt') || hasGlobalAriaAttribute(e) ? 'img' : 'presentation',
'INPUT': (e: Element) => {
const type = (e as HTMLInputElement).type.toLowerCase();
if (type === 'search')
return e.hasAttribute('list') ? 'combobox' : 'searchbox';
if (['email', 'tel', 'text', 'url', ''].includes(type))
return e.hasAttribute('list') ? 'combobox' : 'textbox';
if (type === 'hidden')
return '';
return {
'button': 'button',
'checkbox': 'checkbox',
'image': 'button',
'number': 'spinbutton',
'radio': 'radio',
'range': 'slider',
'reset': 'button',
'submit': 'button',
}[type] || 'textbox';
},
'INS': () => 'insertion',
'LI': () => 'listitem',
'MAIN': () => 'main',
'MARK': () => 'mark',
'MATH': () => 'math',
'MENU': () => 'list',
'METER': () => 'meter',
'NAV': () => 'navigation',
'OL': () => 'list',
'OPTGROUP': () => 'group',
'OPTION': () => 'option',
'OUTPUT': () => 'status',
'P': () => 'paragraph',
'PROGRESS': () => 'progressbar',
'SECTION': (e: Element) => hasExplicitAccessibleName(e) ? 'region' : null,
'SELECT': (e: Element) => e.hasAttribute('multiple') || (e as HTMLSelectElement).size > 1 ? 'listbox' : 'combobox',
'STRONG': () => 'strong',
'SUB': () => 'subscript',
'SUP': () => 'superscript',
'TABLE': () => 'table',
'TBODY': () => 'rowgroup',
'TD': (e: Element) => {
const table = closestCrossShadow(e, 'table');
const role = table ? getExplicitAriaRole(table) : '';
return (role === 'grid' || role === 'treegrid') ? 'gridcell' : 'cell';
},
'TEXTAREA': () => 'textbox',
'TFOOT': () => 'rowgroup',
'TH': (e: Element) => {
if (e.getAttribute('scope') === 'col')
return 'columnheader';
if (e.getAttribute('scope') === 'row')
return 'rowheader';
const table = closestCrossShadow(e, 'table');
const role = table ? getExplicitAriaRole(table) : '';
return (role === 'grid' || role === 'treegrid') ? 'gridcell' : 'cell';
},
'THEAD': () => 'rowgroup',
'TIME': () => 'time',
'TR': () => 'row',
'UL': () => 'list',
};
const kPresentationInheritanceParents: { [tagName: string]: string[] } = {
'DD': ['DL', 'DIV'],
'DIV': ['DL'],
'DT': ['DL', 'DIV'],
'LI': ['OL', 'UL'],
'TBODY': ['TABLE'],
'TD': ['TR'],
'TFOOT': ['TABLE'],
'TH': ['TR'],
'THEAD': ['TABLE'],
'TR': ['THEAD', 'TBODY', 'TFOOT', 'TABLE'],
};
function getImplicitAriaRole(element: Element): string | null {
const implicitRole = kImplicitRoleByTagName[element.tagName]?.(element) || '';
if (!implicitRole)
return null;
// Inherit presentation role when required.
// https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
let ancestor: Element | null = element;
while (ancestor) {
const parent = parentElementOrShadowHost(ancestor);
const parents = kPresentationInheritanceParents[ancestor.tagName];
if (!parents || !parent || !parents.includes(parent.tagName))
break;
const parentExplicitRole = getExplicitAriaRole(parent);
if ((parentExplicitRole === 'none' || parentExplicitRole === 'presentation') && !hasPresentationConflictResolution(parent))
return parentExplicitRole;
ancestor = parent;
}
return implicitRole;
}
// https://www.w3.org/TR/wai-aria-1.2/#role_definitions
const allRoles = [
'alert', 'alertdialog', 'application', 'article', 'banner', 'blockquote', 'button', 'caption', 'cell', 'checkbox', 'code', 'columnheader', 'combobox', 'command',
'complementary', 'composite', 'contentinfo', 'definition', 'deletion', 'dialog', 'directory', 'document', 'emphasis', 'feed', 'figure', 'form', 'generic', 'grid',
'gridcell', 'group', 'heading', 'img', 'input', 'insertion', 'landmark', 'link', 'list', 'listbox', 'listitem', 'log', 'main', 'marquee', 'math', 'meter', 'menu',
'menubar', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'navigation', 'none', 'note', 'option', 'paragraph', 'presentation', 'progressbar', 'radio', 'radiogroup',
'range', 'region', 'roletype', 'row', 'rowgroup', 'rowheader', 'scrollbar', 'search', 'searchbox', 'section', 'sectionhead', 'select', 'separator', 'slider',
'spinbutton', 'status', 'strong', 'structure', 'subscript', 'superscript', 'switch', 'tab', 'table', 'tablist', 'tabpanel', 'term', 'textbox', 'time', 'timer',
'toolbar', 'tooltip', 'tree', 'treegrid', 'treeitem', 'widget', 'window'
];
// https://www.w3.org/TR/wai-aria-1.2/#abstract_roles
const abstractRoles = ['command', 'composite', 'input', 'landmark', 'range', 'roletype', 'section', 'sectionhead', 'select', 'structure', 'widget', 'window'];
const validRoles = allRoles.filter(role => !abstractRoles.includes(role));
function getExplicitAriaRole(element: Element): string | null {
// https://www.w3.org/TR/wai-aria-1.2/#document-handling_author-errors_roles
const explicitRole = (element.getAttribute('role') || '').trim().split(' ')[0];
return validRoles.includes(explicitRole) ? explicitRole : null;
}
function hasPresentationConflictResolution(element: Element) {
// https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
// TODO: this should include "|| focusable" check.
return !hasGlobalAriaAttribute(element);
}
function getAriaRole(element: Element): string | null {
const explicitRole = getExplicitAriaRole(element);
if (!explicitRole)
return getImplicitAriaRole(element);
if ((explicitRole === 'none' || explicitRole === 'presentation') && hasPresentationConflictResolution(element))
return getImplicitAriaRole(element);
return explicitRole;
}
function getAriaBoolean(attr: string | null) {
return attr === null ? undefined : attr.toLowerCase() === 'true';
}
function getComputedStyle(element: Element, pseudo?: string): CSSStyleDeclaration | undefined {
return element.ownerDocument && element.ownerDocument.defaultView ? element.ownerDocument.defaultView.getComputedStyle(element, pseudo) : undefined;
}
export function isElementHiddenForAria(element: Element, cache: Map<Element, boolean>): boolean {
if (['STYLE', 'SCRIPT', 'NOSCRIPT', 'TEMPLATE'].includes(element.tagName))
return true;
let style: CSSStyleDeclaration | undefined = getComputedStyle(element);
if (!style || style.visibility === 'hidden')
return true;
let parent: Element | undefined = element;
while (parent) {
if (!cache.has(parent)) {
if (!style)
style = getComputedStyle(parent);
const hidden = !style || style.display === 'none' || getAriaBoolean(parent.getAttribute('aria-hidden')) === true;
cache.set(parent, hidden);
}
if (cache.get(parent)!)
return true;
parent = parentElementOrShadowHost(parent);
}
return false;
}
function getIdRefs(element: Element, ref: string | null): Element[] {
if (!ref)
return [];
const root = enclosingShadowRootOrDocument(element);
if (!root)
return [];
try {
const ids = ref.split(' ').filter(id => !!id);
const set = new Set<Element>();
for (const id of ids) {
// https://www.w3.org/TR/wai-aria-1.2/#mapping_additional_relations_error_processing
// "If more than one element has the same ID, the user agent SHOULD use the first element found with the given ID"
const firstElement = root.querySelector('#' + CSS.escape(id));
if (firstElement)
set.add(firstElement);
}
return [...set];
} catch (e) {
return [];
}
}
function normalizeAccessbileName(s: string): string {
// "Flat string" at https://w3c.github.io/accname/#terminology
return s.replace(/\r\n/g, '\n').replace(/\u00A0/g, ' ').replace(/\s\s+/g, ' ').trim();
}
function queryInAriaOwned(element: Element, selector: string): Element[] {
const result = [...element.querySelectorAll(selector)];
for (const owned of getIdRefs(element, element.getAttribute('aria-owns'))) {
if (owned.matches(selector))
result.push(owned);
result.push(...owned.querySelectorAll(selector));
}
return result;
}
function getPseudoContent(pseudoStyle: CSSStyleDeclaration | undefined) {
if (!pseudoStyle)
return '';
const content = pseudoStyle.getPropertyValue('content');
if ((content[0] === '\'' && content[content.length - 1] === '\'') ||
(content[0] === '"' && content[content.length - 1] === '"')) {
const unquoted = content.substring(1, content.length - 1);
// SPEC DIFFERENCE.
// Spec says "CSS textual content, without a space", but we account for display
// to pass "name_file-label-inline-block-styles-manual.html"
const display = pseudoStyle.getPropertyValue('display') || 'inline';
if (display !== 'inline')
return ' ' + unquoted + ' ';
return unquoted;
}
return '';
}
export function getElementAccessibleName(element: Element, includeHidden: boolean, hiddenCache: Map<Element, boolean>): string {
// https://w3c.github.io/accname/#computation-steps
// step 1.
// https://w3c.github.io/aria/#namefromprohibited
const elementProhibitsNaming = ['caption', 'code', 'definition', 'deletion', 'emphasis', 'generic', 'insertion', 'mark', 'paragraph', 'presentation', 'strong', 'subscript', 'suggestion', 'superscript', 'term', 'time'].includes(getAriaRole(element) || '');
if (elementProhibitsNaming)
return '';
// step 2.
const accessibleName = normalizeAccessbileName(getElementAccessibleNameInternal(element, {
includeHidden,
hiddenCache,
visitedElements: new Set(),
embeddedInLabelledBy: 'none',
embeddedInLabel: 'none',
embeddedInTextAlternativeElement: false,
embeddedInTargetElement: 'self',
}));
return accessibleName;
}
type AccessibleNameOptions = {
includeHidden: boolean,
hiddenCache: Map<Element, boolean>,
visitedElements: Set<Element>,
embeddedInLabelledBy: 'none' | 'self' | 'descendant',
embeddedInLabel: 'none' | 'self' | 'descendant',
embeddedInTextAlternativeElement: boolean,
embeddedInTargetElement: 'none' | 'self' | 'descendant',
};
function getElementAccessibleNameInternal(element: Element, options: AccessibleNameOptions): string {
if (options.visitedElements.has(element))
return '';
const childOptions: AccessibleNameOptions = {
...options,
embeddedInLabel: options.embeddedInLabel === 'self' ? 'descendant' : options.embeddedInLabel,
embeddedInLabelledBy: options.embeddedInLabelledBy === 'self' ? 'descendant' : options.embeddedInLabelledBy,
embeddedInTargetElement: options.embeddedInTargetElement === 'self' ? 'descendant' : options.embeddedInTargetElement,
};
// step 2a.
if (!options.includeHidden && options.embeddedInLabelledBy !== 'self' && isElementHiddenForAria(element, options.hiddenCache)) {
options.visitedElements.add(element);
return '';
}
// step 2b.
if (options.embeddedInLabelledBy === 'none') {
const refs = getIdRefs(element, element.getAttribute('aria-labelledby'));
const accessibleName = refs.map(ref => getElementAccessibleNameInternal(ref, {
...options,
embeddedInLabelledBy: 'self',
embeddedInTargetElement: 'none',
embeddedInLabel: 'none',
embeddedInTextAlternativeElement: false,
})).join(' ');
if (accessibleName)
return accessibleName;
}
const role = getAriaRole(element) || '';
// step 2c.
if (options.embeddedInLabel !== 'none' || options.embeddedInLabelledBy !== 'none') {
const isOwnLabel = [...(element as (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)).labels || []].includes(element as any);
const isOwnLabelledBy = getIdRefs(element, element.getAttribute('aria-labelledby')).includes(element);
if (!isOwnLabel && !isOwnLabelledBy) {
if (role === 'textbox') {
options.visitedElements.add(element);
if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA')
return (element as HTMLInputElement | HTMLTextAreaElement).value;
return element.textContent || '';
}
if (['combobox', 'listbox'].includes(role)) {
options.visitedElements.add(element);
let selectedOptions: Element[];
if (element.tagName === 'SELECT') {
selectedOptions = [...(element as HTMLSelectElement).selectedOptions];
if (!selectedOptions.length && (element as HTMLSelectElement).options.length)
selectedOptions.push((element as HTMLSelectElement).options[0]);
} else {
const listbox = role === 'combobox' ? queryInAriaOwned(element, '*').find(e => getAriaRole(e) === 'listbox') : element;
selectedOptions = listbox ? queryInAriaOwned(listbox, '[aria-selected="true"]').filter(e => getAriaRole(e) === 'option') : [];
}
return selectedOptions.map(option => getElementAccessibleNameInternal(option, childOptions)).join(' ');
}
if (['progressbar', 'scrollbar', 'slider', 'spinbutton', 'meter'].includes(role)) {
options.visitedElements.add(element);
if (element.hasAttribute('aria-valuetext'))
return element.getAttribute('aria-valuetext') || '';
if (element.hasAttribute('aria-valuenow'))
return element.getAttribute('aria-valuenow') || '';
return element.getAttribute('value') || '';
}
if (['menu'].includes(role)) {
// https://github.com/w3c/accname/issues/67#issuecomment-553196887
options.visitedElements.add(element);
return '';
}
}
}
// step 2d.
const ariaLabel = element.getAttribute('aria-label') || '';
if (ariaLabel.trim()) {
options.visitedElements.add(element);
return ariaLabel;
}
// step 2e.
if (!['presentation', 'none'].includes(role)) {
// https://w3c.github.io/html-aam/#input-type-button-input-type-submit-and-input-type-reset
if (element.tagName === 'INPUT' && ['button', 'submit', 'reset'].includes((element as HTMLInputElement).type)) {
options.visitedElements.add(element);
const value = (element as HTMLInputElement).value || '';
if (value.trim())
return value;
if ((element as HTMLInputElement).type === 'submit')
return 'Submit';
if ((element as HTMLInputElement).type === 'reset')
return 'Reset';
const title = element.getAttribute('title') || '';
return title;
}
// https://w3c.github.io/html-aam/#input-type-image
if (element.tagName === 'INPUT' && (element as HTMLInputElement).type === 'image') {
options.visitedElements.add(element);
const alt = element.getAttribute('alt') || '';
if (alt.trim())
return alt;
// SPEC DIFFERENCE.
// Spec does not mention "label" elements, but we account for labels
// to pass "name_test_case_616-manual.html"
const labels = (element as HTMLInputElement).labels || [];
if (labels.length) {
return [...labels].map(label => getElementAccessibleNameInternal(label, {
...options,
embeddedInLabel: 'self',
embeddedInTextAlternativeElement: false,
embeddedInLabelledBy: 'none',
embeddedInTargetElement: 'none',
})).filter(accessibleName => !!accessibleName).join(' ');
}
const title = element.getAttribute('title') || '';
if (title.trim())
return title;
return 'Submit Query';
}
// https://w3c.github.io/html-aam/#input-type-text-input-type-password-input-type-search-input-type-tel-input-type-url-and-textarea-element
// https://w3c.github.io/html-aam/#other-form-elements
// For "other form elements", we count select and any other input.
if (element.tagName === 'TEXTAREA' || element.tagName === 'SELECT' || element.tagName === 'INPUT') {
options.visitedElements.add(element);
const labels = (element as (HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement)).labels || [];
if (labels.length) {
return [...labels].map(label => getElementAccessibleNameInternal(label, {
...options,
embeddedInLabel: 'self',
embeddedInTextAlternativeElement: false,
embeddedInLabelledBy: 'none',
embeddedInTargetElement: 'none',
})).filter(accessibleName => !!accessibleName).join(' ');
}
const usePlaceholder = (element.tagName === 'INPUT' && ['text', 'password', 'search', 'tel', 'email', 'url'].includes((element as HTMLInputElement).type)) || element.tagName === 'TEXTAREA';
const placeholder = element.getAttribute('placeholder') || '';
const title = element.getAttribute('title') || '';
if (!usePlaceholder || title)
return title;
return placeholder;
}
// https://w3c.github.io/html-aam/#fieldset-and-legend-elements
if (element.tagName === 'FIELDSET') {
options.visitedElements.add(element);
for (let child = element.firstElementChild; child; child = child.nextElementSibling) {
if (child.tagName === 'LEGEND') {
return getElementAccessibleNameInternal(child, {
...childOptions,
embeddedInTextAlternativeElement: true,
});
}
}
const title = element.getAttribute('title') || '';
return title;
}
// https://w3c.github.io/html-aam/#figure-and-figcaption-elements
if (element.tagName === 'FIGURE') {
options.visitedElements.add(element);
for (let child = element.firstElementChild; child; child = child.nextElementSibling) {
if (child.tagName === 'FIGCAPTION') {
return getElementAccessibleNameInternal(child, {
...childOptions,
embeddedInTextAlternativeElement: true,
});
}
}
const title = element.getAttribute('title') || '';
return title;
}
// https://w3c.github.io/html-aam/#img-element
if (element.tagName === 'IMG') {
options.visitedElements.add(element);
const alt = element.getAttribute('alt') || '';
if (alt.trim())
return alt;
const title = element.getAttribute('title') || '';
return title;
}
// https://w3c.github.io/html-aam/#table-element
if (element.tagName === 'TABLE') {
options.visitedElements.add(element);
for (let child = element.firstElementChild; child; child = child.nextElementSibling) {
if (child.tagName === 'CAPTION') {
return getElementAccessibleNameInternal(child, {
...childOptions,
embeddedInTextAlternativeElement: true,
});
}
}
// SPEC DIFFERENCE.
// Spec says "if the table element has a title attribute, then use that attribute".
// We ignore title to pass "name_from_content-manual.html".
}
// https://w3c.github.io/html-aam/#area-element
if (element.tagName === 'AREA') {
options.visitedElements.add(element);
const alt = element.getAttribute('alt') || '';
if (alt.trim())
return alt;
const title = element.getAttribute('title') || '';
return title;
}
// https://www.w3.org/TR/svg-aam-1.0/
if (element.tagName === 'SVG' && (element as SVGElement).ownerSVGElement) {
options.visitedElements.add(element);
for (let child = element.firstElementChild; child; child = child.nextElementSibling) {
if (child.tagName === 'TITLE' && (element as SVGElement).ownerSVGElement) {
return getElementAccessibleNameInternal(child, {
...childOptions,
embeddedInTextAlternativeElement: true,
});
}
}
}
}
// step 2f + step 2h.
// https://w3c.github.io/aria/#namefromcontent
const allowsNameFromContent = ['button', 'cell', 'checkbox', 'columnheader', 'gridcell', 'heading', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'row', 'rowheader', 'switch', 'tab', 'tooltip', 'treeitem'].includes(role);
if (allowsNameFromContent || options.embeddedInLabelledBy !== 'none' || options.embeddedInLabel !== 'none' || options.embeddedInTextAlternativeElement || options.embeddedInTargetElement === 'descendant') {
options.visitedElements.add(element);
const tokens: string[] = [];
const visit = (node: Node) => {
if (node.nodeType === 1 /* Node.ELEMENT_NODE */) {
const display = getComputedStyle(node as Element)?.getPropertyValue('display') || 'inline';
let token = getElementAccessibleNameInternal(node as Element, childOptions);
// SPEC DIFFERENCE.
// Spec says "append the result to the accumulated text", assuming "with space".
// However, multiple tests insist that inline elements do not add a space.
// Additionally, <br> insists on a space anyway, see "name_file-label-inline-block-elements-manual.html"
if (display !== 'inline' || node.nodeName === 'BR')
token = ' ' + token + ' ';
tokens.push(token);
} else if (node.nodeType === 3 /* Node.TEXT_NODE */) {
// step 2g.
tokens.push(node.textContent || '');
}
};
tokens.push(getPseudoContent(getComputedStyle(element, '::before')));
for (let child = element.firstChild; child; child = child.nextSibling)
visit(child);
if (element.shadowRoot) {
for (let child = element.shadowRoot.firstChild; child; child = child.nextSibling)
visit(child);
}
for (const owned of getIdRefs(element, element.getAttribute('aria-owns')))
visit(owned);
tokens.push(getPseudoContent(getComputedStyle(element, '::after')));
const accessibleName = tokens.join('');
if (accessibleName.trim())
return accessibleName;
}
// step 2i.
if (!['presentation', 'none'].includes(role) || element.tagName === 'IFRAME') {
options.visitedElements.add(element);
const title = element.getAttribute('title') || '';
if (title.trim())
return title;
}
options.visitedElements.add(element);
return '';
}

View File

@ -626,9 +626,7 @@ export function isInsideScope(scope: Node, element: Element | undefined): boolea
while (element) {
if (scope.contains(element))
return true;
while (element.parentElement)
element = element.parentElement;
element = parentElementOrShadowHost(element);
element = enclosingShadowHost(element);
}
return false;
}
@ -638,10 +636,33 @@ export function parentElementOrShadowHost(element: Element): Element | undefined
return element.parentElement;
if (!element.parentNode)
return;
if (element.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE && (element.parentNode as ShadowRoot).host)
if (element.parentNode.nodeType === 11 /* Node.DOCUMENT_FRAGMENT_NODE */ && (element.parentNode as ShadowRoot).host)
return (element.parentNode as ShadowRoot).host;
}
export function enclosingShadowRootOrDocument(element: Element): Document | ShadowRoot | undefined {
let node: Node = element;
while (node.parentNode)
node = node.parentNode;
if (node.nodeType === 11 /* Node.DOCUMENT_FRAGMENT_NODE */ || node.nodeType === 9 /* Node.DOCUMENT_NODE */)
return node as Document | ShadowRoot;
}
function enclosingShadowHost(element: Element): Element | undefined {
while (element.parentElement)
element = element.parentElement;
return parentElementOrShadowHost(element);
}
export function closestCrossShadow(element: Element | undefined, css: string): Element | undefined {
while (element) {
const closest = element.closest(css);
if (closest)
return closest;
element = enclosingShadowHost(element);
}
}
function parentElementOrShadowHostInContext(element: Element, context: QueryContext): Element | undefined {
if (element === context.scope)
return;

View File

@ -0,0 +1,11 @@
# The 3-Clause BSD License
Copyright © web-platform-tests contributors
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1,10 @@
Web platform tests are copied from https://github.com/web-platform-tests/wpt.
Includes:
- `LICENSE.md`
- `accname/name*` test files
- `accname/foo.jpg`
- `wai-aria/scripts/manual.css`
Modifed:
- `wai-aria/scripts/ATTAcomm.js` contains our own harness to avoid modifying test files

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name 1.0 combobox-focusable-alternative</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Choose your language"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Choose your language"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Choose your language"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Choose your language"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name 1.0 combobox-focusable-alternative"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name 1.0 combobox-focusable-alternative.</p>
<input id="test" role="combobox" type="text" title="Choose your language" value="English">
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name 1.0 combobox-focusable</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Choose your language."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Choose your language."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Choose your language."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Choose your language."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name 1.0 combobox-focusable"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name 1.0 combobox-focusable.</p>
<div id="test" role="combobox" tabindex="0" title="Choose your language.">
<span> English </span>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-combobox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-combobox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-combobox.</p>
<input type="checkbox" id="test" />
<label for="test">Flash the screen
<div role="combobox">
<div role="textbox"></div>
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1</li>
<li role="option">2</li>
<li role="option">3</li>
</ul>
</div>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-listbox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-listbox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-listbox.</p>
<input type="checkbox" id="test" />
<label for="test">Flash the screen
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1</li>
<li role="option">2</li>
<li role="option">3</li>
</ul>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-menu</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-menu"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-menu.</p>
<input type="checkbox" id="test" />
<label for="test">Flash the screen
<span role="menu">
<span role="menuitem" aria-selected="true">1</span>
<span role="menuitem" hidden>2</span>
<span role="menuitem" hidden>3</span>
</span>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-select</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-select"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-select.</p>
<input type="checkbox" id="test" />
<label for="test">Flash the screen
<select size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-slider</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-slider"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-slider.</p>
<input type="checkbox" id="test" />
<label for="test">foo <input role="slider" type="range" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-spinbutton</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-spinbutton"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-spinbutton.</p>
<input type="checkbox" id="test" />
<label for="test">foo <input role="spinbutton" type="number" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-embedded-textbox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-embedded-textbox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-embedded-textbox.</p>
<input type="checkbox" id="test" />
<label for="test">Flash the screen
<div role="textbox" contenteditable>1</div>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-multiple-label-alternative</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"a test This is"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"a test This is"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"a test This is"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"a test This is"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-multiple-label-alternative"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-multiple-label-alternative.</p>
<label for="test">a test</label>
<label>This <input type="checkbox" id="test" /> is</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-label-multiple-label</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"This is a test"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"This is a test"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"This is a test"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"This is a test"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-label-multiple-label"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-label-multiple-label.</p>
<label>This <input type="checkbox" id="test" /> is</label>
<label for="test">a test</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name checkbox-title</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name checkbox-title"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name checkbox-title.</p>
<input type="checkbox" id="test" title="foo" />
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name file-label-embedded-combobox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-embedded-combobox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-embedded-combobox.</p>
<input type="file" id="test" />
<label for="test">Flash the screen
<div role="combobox">
<div role="textbox"></div>
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1 </li>
<li role="option">2 </li>
<li role="option">3 </li>
</ul>
</div>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name file-label-embedded-menu</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-embedded-menu"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-embedded-menu.</p>
<input type="file" id="test" />
<label for="test">Flash the screen
<span role="menu">
<span role="menuitem" aria-selected="true">1</span>
<span role="menuitem" hidden>2</span>
<span role="menuitem" hidden>3</span>
</span>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name file-label-embedded-select</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-embedded-select"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-embedded-select.</p>
<input type="file" id="test" />
<label for="test">Flash the screen
<select size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name file-label-embedded-slider</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-embedded-slider"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-embedded-slider.</p>
<input type="file" id="test" />
<label for="test">foo <input role="slider" type="range" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name file-label-embedded-spinbutton</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-embedded-spinbutton"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-embedded-spinbutton.</p>
<input type="file" id="test" />
<label for="test">foo <input role="spinbutton" type="number" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name file-label-inline-block-elements</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"What is your name?"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"What is your name?"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"What is your name?"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"What is your name?"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-inline-block-elements"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-inline-block-elements.</p>
<input type="file" id="test" />
<label for="test">W<i>h<b>a</b></i>t<br>is<div>your<div>name<b>?</b></div></div></label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,75 @@
<!doctype html>
<html>
<head>
<title>Name file-label-inline-block-styles</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"This is a test."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"This is a test."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"This is a test."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"This is a test."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-inline-block-styles"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-inline-block-styles.</p>
<style>
label:before { content: "This"; display: block; }
label:after { content: "."; }
</style>
<label for="test">is a test</label>
<input type="text" id="test"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!doctype html>
<html>
<head>
<title>Name file-label-inline-hidden-elements</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"2 4 6 8 10"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"2 4 6 8 10"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"2 4 6 8 10"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"2 4 6 8 10"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-inline-hidden-elements"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-inline-hidden-elements.</p>
<style>
.hidden { display: none; }
</style>
<input type="file" id="test" />
<label for="test">
<span class="hidden">1</span><span>2</span>
<span style="visibility: hidden;">3</span><span>4</span>
<span hidden>5</span><span>6</span>
<span aria-hidden="true">7</span><span>8</span>
<span aria-hidden="false" class="hidden">9</span><span>10</span>
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name file-label-owned-combobox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-owned-combobox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-owned-combobox.</p>
<input type="file" id="test" />
<label for="test">Flash <span aria-owns="id1">the screen</span> times.</label>
<div id="id1">
<div role="combobox">
<div role="textbox"></div>
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1 </li>
<li role="option">2 </li>
<li role="option">3 </li>
</ul>
</div>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,83 @@
<!doctype html>
<html>
<head>
<title>Name file-label-owned-combobox-owned-listbox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 2 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 2 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 2 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 2 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-label-owned-combobox-owned-listbox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-label-owned-combobox-owned-listbox.</p>
<input type="file" id="test" />
<label for="test">Flash <span aria-owns="id1">the screen</span> times.</label>
<div>
<div id="id1" role="combobox" aria-owns="id2">
<div role="textbox"></div>
</div>
</div>
<div>
<ul id="id2" role="listbox" style="list-style-type: none;">
<li role="option" >1 </li>
<li role="option" aria-selected="true">2 </li>
<li role="option">3 </li>
</ul>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name file-title</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name file-title"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name file-title.</p>
<input type="file" id="test" title="foo" />
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!doctype html>
<html>
<head>
<title>Name from content</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name from content"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name from content.</p>
<style>
.hidden { display: none; }
</style>
<div id="test" role="link" tabindex="0">
<span aria-hidden="true"><i> Hello, </i></span>
<span>My</span> name is
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli">
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>
<td>Where</td>
<td style="visibility:hidden;"><div>in</div></td>
<td><div style="display:none;">the world</div></td>
<td>are my marbles?</td>
</tr>
</table>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,92 @@
<!doctype html>
<html>
<head>
<title>Name from content of label</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name from content of label"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name from content of label.</p>
<style>
.hidden { display: none; }
</style>
<input type="text" id="test" />
<label for="test" id="label">
<span aria-hidden="true"><i> Hello, </i></span>
<span>My</span> name is
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli">
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>
<td>Where</td>
<td style="visibility:hidden;"><div>in</div></td>
<td><div style="display:none;">the world</div></td>
<td>are my marbles?</td>
</tr>
</table>
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,92 @@
<!doctype html>
<html>
<head>
<title>Name from content of labelledby element</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"My name is Eli the weird. (QED) Where are my marbles?"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name from content of labelledby element"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name from content of labelledby element.</p>
<style>
.hidden { display: none; }
</style>
<input id="test" type="text" aria-labelledby="lblId" />
<div id="lblId" >
<span aria-hidden="true"><i> Hello, </i></span>
<span>My</span> name is
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli">
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>
<td>Where</td>
<td style="visibility:hidden;"><div>in</div></td>
<td><div style="display:none;">the world</div></td>
<td>are my marbles?</td>
</tr>
</table>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,102 @@
<!doctype html>
<html>
<head>
<title>Name from content of labelledby elements one of which is hidden</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Important stuff"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Important stuff"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Important stuff"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Important stuff"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name from content of labelledby elements one of which is hidden"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name from content of labelledby elements one of which is hidden.</p>
<style>
.hidden { display: none; }
</style>
<div>
<input id="test" type="text" aria-labelledby="lbl1 lbl2" aria-describedby="descId" />
<span>
<span aria-hidden="true" id="lbl1">Important</span>
<span class="hidden">
<span aria-hidden="true" id="lbl2">stuff</span>
</span>
</span>
</div>
<div class="hidden">
<div id="descId">
<span aria-hidden="true"><i> Hello, </i></span>
<span>My</span> name is
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli">
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>
<td>Where</td>
<td style="visibility:hidden;"><div>in</div></td>
<td><div style="display:none;">the world</div></td>
<td>are my marbles?</td>
</tr>
</table>
</div>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
<title>Name heading-combobox-focusable-alternative</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Country of origin: United States"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Country of origin: United States"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Country of origin: United States"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Country of origin: United States"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name heading-combobox-focusable-alternative"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name heading-combobox-focusable-alternative.</p>
<h2 id="test">
Country of origin:
<input role="combobox" type="text" title="Choose your country." value="United States">
</h2>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name image-title</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name image-title"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name image-title.</p>
<input type="image" src="test.png" id="test" title="foo" />
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name link-mixed-content</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"My name is Eli the weird. (QED)"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"My name is Eli the weird. (QED)"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"My name is Eli the weird. (QED)"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"My name is Eli the weird. (QED)"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name link-mixed-content"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name link-mixed-content.</p>
<style>
.hidden { display: none; }
</style>
<div id="test" role="link" tabindex="0">
<span aria-hidden="true"><i> Hello, </i></span>
<span>My</span> name is
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli"><span aria-label="Garaventa">Zambino</span></span>
<span>the weird.</span>
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name link-with-label</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"California"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"California"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"California"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"California"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name link-with-label"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name link-with-label.</p>
<a id="test" href="#" aria-label="California" title="San Francisco" >United States</a>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name password-label-embedded-combobox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-label-embedded-combobox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-label-embedded-combobox.</p>
<input type="password" id="test" />
<label for="test">Flash the screen
<div role="combobox">
<div role="textbox"></div>
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1</li>
<li role="option">2</li>
<li role="option">3</li>
</ul>
</div>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name password-label-embedded-menu</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-label-embedded-menu"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-label-embedded-menu.</p>
<input type="password" id="test" />
<label for="test">Flash the screen
<span role="menu">
<span role="menuitem" aria-selected="true">1</span>
<span role="menuitem" hidden>2</span>
<span role="menuitem" hidden>3</span>
</span>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name password-label-embedded-select</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-label-embedded-select"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-label-embedded-select.</p>
<input type="password" id="test" />
<label for="test">Flash the screen
<select size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name password-label-embedded-slider</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-label-embedded-slider"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-label-embedded-slider.</p>
<input type="password" id="test" />
<label for="test">foo <input role="slider" type="range" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name password-label-embedded-spinbutton</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-label-embedded-spinbutton"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-label-embedded-spinbutton.</p>
<input type="password" id="test" />
<label for="test">foo <input role="spinbutton" type="number" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name password-title</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name password-title"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name password-title.</p>
<input type="password" id="test" title="foo" />
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,81 @@
<!doctype html>
<html>
<head>
<title>Name radio-label-embedded-combobox</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-label-embedded-combobox"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-label-embedded-combobox.</p>
<input type="radio" id="test" />
<label for="test">Flash the screen
<div role="combobox">
<div role="textbox"></div>
<ul role="listbox" style="list-style-type: none;">
<li role="option" aria-selected="true">1</li>
<li role="option">2</li>
<li role="option">3</li>
</ul>
</div>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name radio-label-embedded-menu</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-label-embedded-menu"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-label-embedded-menu.</p>
<input type="radio" id="test" />
<label for="test">Flash the screen
<span role="menu">
<span role="menuitem" aria-selected="true">1</span>
<span role="menuitem" hidden>2</span>
<span role="menuitem" hidden>3</span>
</span>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,78 @@
<!doctype html>
<html>
<head>
<title>Name radio-label-embedded-select</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Flash the screen 1 times."
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Flash the screen 1 times."
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Flash the screen 1 times."
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Flash the screen 1 times."
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-label-embedded-select"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-label-embedded-select.</p>
<input type="radio" id="test" />
<label for="test">Flash the screen
<select size="1">
<option selected="selected">1</option>
<option>2</option>
<option>3</option>
</select>
times.
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name radio-label-embedded-slider</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-label-embedded-slider"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-label-embedded-slider.</p>
<input type="radio" id="test" />
<label for="test">foo <input role="slider" type="range" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name radio-label-embedded-spinbutton</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo 5 baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo 5 baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo 5 baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo 5 baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-label-embedded-spinbutton"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-label-embedded-spinbutton.</p>
<input type="radio" id="test" />
<label for="test">foo <input role="spinbutton" type="number" value="5" min="1" max="10" aria-valuenow="5" aria-valuemin="1" aria-valuemax="10"> baz
</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name radio-title</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name radio-title"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name radio-title.</p>
<input type="radio" id="test" title="foo" />
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 539</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Rich"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Rich"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Rich"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Rich"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 539"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 539.</p>
<input type="button" aria-label="Rich" id="test">
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 540</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Rich's button"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Rich's button"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Rich's button"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Rich's button"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 540"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 540.</p>
<div id="ID1">Rich's button</div>
<input type="button" aria-labelledby="ID1" id="test">
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 541</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Rich's button"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Rich's button"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Rich's button"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Rich's button"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 541"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 541.</p>
<div id="ID1">Rich's button</div>
<input type="button" aria-label="bar" aria-labelledby="ID1" id="test"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 543</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Reset"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Reset"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Reset"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Reset"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 543"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 543.</p>
<input type="reset" id="test"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 544</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 544"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 544.</p>
<input type="button" id="test" value="foo"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 545</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 545"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 545.</p>
<input src="baz.html" type="image" id="test" alt="foo"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 546</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"States:"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"States:"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"States:"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"States:"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 546"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 546.</p>
<label for="test">States:</label>
<input type="text" id="test"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<title>Name test case 547</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo David"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo David"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo David"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo David"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 547"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 547.</p>
<label for="test">
foo
<input type="text" value="David"/>
</label>
<input type="text" id="test" value="baz"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,77 @@
<!doctype html>
<html>
<head>
<title>Name test case 548</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"crazy"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"crazy"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"crazy"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"crazy"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 548"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 548.</p>
<label for="test">
crazy
<select name="member" size="1" role="menu" tabindex="0">
<option role="menuitem" value="beard" selected="true">clown</option>
<option role="menuitem" value="scuba">rich</option>
</select>
</label>
<input type="text" id="test" value="baz"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,75 @@
<!doctype html>
<html>
<head>
<title>Name test case 549</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"crazy Monday"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"crazy Monday"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"crazy Monday"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"crazy Monday"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 549"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 549.</p>
<label for="test">
crazy
<div role="spinbutton" aria-valuetext="Monday" aria-valuemin="1" aria-valuemax="7" aria-valuenow="4">
</div>
</label>
<input type="text" id="test" value="baz"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,75 @@
<!doctype html>
<html>
<head>
<title>Name test case 550</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"crazy 4"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"crazy 4"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"crazy 4"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"crazy 4"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 550"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 550.</p>
<label for="test">
crazy
<div role="spinbutton" aria-valuemin="1" aria-valuemax="7" aria-valuenow="4">
</div>
</label>
<input type="text" id="test" value="baz"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 551</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"crazy"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"crazy"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"crazy"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"crazy"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 551"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 551.</p>
<input type="text" id="test" title="crazy" value="baz"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<title>Name test case 552</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"fancy fruit"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"fancy fruit"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"fancy fruit"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"fancy fruit"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 552"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 552.</p>
<style>
label:before { content:"fancy "; }
</style>
<label for="test">fruit</label>
<input type="text" id="test"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,74 @@
<!doctype html>
<html>
<head>
<title>Name test case 553</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"test content"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"test content"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"test content"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"test content"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 553"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 553.</p>
<style type="text/css">
[data-after]:after { content: attr(data-after); }
</style>
<label for="test" data-after="test content"></label>
<input type="text" id="test">
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 556</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"1"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"1"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"1"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"1"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 556"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 556.</p>
<img id="test" src="foo.jpg" aria-label="1"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 557</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"1"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"1"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"1"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"1"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 557"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 557.</p>
<img id="test" src="foo.jpg" aria-label="1" alt="a" title="t"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 558</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
""
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
""
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
""
]
],
"UIA" : [
[
"property",
"Name",
"is",
""
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 558"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 558.</p>
<input type="text" value="peanuts" id="test">
<img aria-labelledby="test" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 559</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
""
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
""
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
""
]
],
"UIA" : [
[
"property",
"Name",
"is",
""
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 559"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 559.</p>
<img id="test" aria-labelledby="test" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 560</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
""
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
""
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
""
]
],
"UIA" : [
[
"property",
"Name",
"is",
""
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 560"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 560.</p>
<input type="text" value="peanuts" id="test">
<img aria-labelledby="test" aria-label="1" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 561</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"1"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"1"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"1"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"1"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 561"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 561.</p>
<img id="test" aria-labelledby="test" aria-label="1" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
<title>Name test case 562</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"peanuts popcorn apple jacks"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"peanuts popcorn apple jacks"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"peanuts popcorn apple jacks"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"peanuts popcorn apple jacks"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 562"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 562.</p>
<input type="text" value="peanuts" id="ID1">
<input type="text" value="popcorn" id="ID2">
<input type="text" value="apple jacks" id="ID3">
<img aria-labelledby="ID1 ID2 ID3" id="test" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 563</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"l peanuts"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"l peanuts"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"l peanuts"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"l peanuts"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 563"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 563.</p>
<input type="text" value="peanuts" id="ID1">
<img id="test" aria-label="l" aria-labelledby="test ID1" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name test case 564</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"l peanuts popcorn"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"l peanuts popcorn"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"l peanuts popcorn"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"l peanuts popcorn"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 564"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 564.</p>
<input type="text" value="peanuts" id="ID1">
<input type="text" value="popcorn" id="ID2">
<img id="test" aria-label="l" aria-labelledby="test ID1 ID2" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
<title>Name test case 565</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"l peanuts popcorn apple jacks"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"l peanuts popcorn apple jacks"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"l peanuts popcorn apple jacks"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"l peanuts popcorn apple jacks"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 565"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 565.</p>
<input type="text" value="peanuts" id="ID1">
<input type="text" value="popcorn" id="ID2">
<input type="text" value="apple jacks" id="ID3">
<img id="test" aria-label="l" aria-labelledby="test ID1 ID2 ID3" alt= "a" title="t" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
<title>Name test case 566</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"t peanuts popcorn apple jacks"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"t peanuts popcorn apple jacks"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"t peanuts popcorn apple jacks"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"t peanuts popcorn apple jacks"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 566"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 566.</p>
<input type="text" value="peanuts" id="ID1">
<input type="text" value="popcorn" id="ID2">
<input type="text" value="apple jacks" id="ID3">
<img id="test" aria-label="" aria-labelledby="test ID1 ID2 ID3" alt="" title="t" src="foo.jpg"/>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 596</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"bar"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"bar"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"bar"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"bar"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 596"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 596.</p>
<div id="test" aria-labelledby="ID1">foo</div>
<span id="ID1">bar</span>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 597</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Tag"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Tag"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Tag"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Tag"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 597"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 597.</p>
<div id="test" aria-label="Tag">foo</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 598</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"bar"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"bar"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"bar"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"bar"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 598"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 598.</p>
<div id="test" aria-labelledby="ID1" aria-label="Tag">foo</div>
<span id="ID1">bar</span>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!doctype html>
<html>
<head>
<title>Name test case 599</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 599"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 599.</p>
<div id="test" aria-labelledby="ID0 ID1" aria-label="Tag">foo</div>
<span id="ID0">bar</span>
<span id="ID1">baz</span>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 600</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
""
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
""
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
""
]
],
"UIA" : [
[
"property",
"Name",
"is",
""
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 600"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 600.</p>
<div id="test">Div with text</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 601</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 601"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 601.</p>
<div id="test" role="button">foo</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 602</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Tag"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Tag"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Tag"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Tag"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 602"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 602.</p>
<div id="test" role="button" title="Tag" style="outline:medium solid black; width:2em; height:1em;">
</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 603</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 603"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 603.</p>
<div id="ID1">foo</div>
<a id="test" href="test.html" aria-labelledby="ID1">bar</a>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 604</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Tag"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Tag"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Tag"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Tag"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 604"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 604.</p>
<a id="test" href="test.html" aria-label="Tag">ABC</a>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 605</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"bar"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"bar"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"bar"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"bar"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 605"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 605.</p>
<a href="test.html" id="test" aria-labelledby="ID1" aria-label="Tag">foo</a>
<p id="ID1">bar</p>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 606</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Tag foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Tag foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Tag foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Tag foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 606"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 606.</p>
<a href="test.html" id="test" aria-labelledby="test ID1" aria-label="Tag"></a>
<p id="ID1">foo</p>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 607</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"ABC"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"ABC"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"ABC"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"ABC"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 607"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 607.</p>
<a href="test.html" id="test">ABC</a>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<!doctype html>
<html>
<head>
<title>Name test case 608</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"Tag"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"Tag"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"Tag"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"Tag"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 608"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 608.</p>
<a href="test.html" id="test" title="Tag"></a>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!doctype html>
<html>
<head>
<title>Name test case 609</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 609"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 609.</p>
<input id="test" type="text" aria-labelledby="ID1 ID2 ID3">
<p id="ID1">foo</p>
<p id="ID2">bar</p>
<p id="ID3">baz</p>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 610</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 610"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 610.</p>
<input id="test" type="text" aria-label="bar" aria-labelledby="ID1 test">
<div id="ID1">foo</div>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 611</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 611"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 611.</p>
<input id="test" type="text"/>
<label for="test">foo</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 612</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 612"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 612.</p>
<input type="password" id="test">
<label for="test">foo</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 613</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 613"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 613.</p>
<input type="checkbox" id="test">
<label for="test">foo</label></body>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 614</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 614"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 614.</p>
<input type="radio" id="test">
<label for="test">foo</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 615</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 615"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 615.</p>
<input type="file" id="test">
<label for="test">foo</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 616</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 616"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 616.</p>
<input type="image" id="test">
<label for="test">foo</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 617</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 617"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 617.</p>
<input type="checkbox" id="test">
<label for="test">foo<input type="text" value="bar">baz</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 618</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 618"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 618.</p>
<input type="text" id="test">
<label for="test">foo<input type="text" value="bar">baz</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 619</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 619"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 619.</p>
<input type="password" id="test">
<label for="test">foo<input type="text" value="bar">baz</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 620</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 620"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 620.</p>
<input type="radio" id="test">
<label for="test">foo<input type="text" value="bar">baz</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!doctype html>
<html>
<head>
<title>Name test case 621</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<link rel="stylesheet" href="/wai-aria/scripts/manual.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/wai-aria/scripts/ATTAcomm.js"></script>
<script>
setup({explicit_timeout: true, explicit_done: true });
var theTest = new ATTAcomm(
{
"steps" : [
{
"element" : "test",
"test" : {
"ATK" : [
[
"property",
"name",
"is",
"foo bar baz"
]
],
"AXAPI" : [
[
"property",
"AXDescription",
"is",
"foo bar baz"
]
],
"IAccessible2" : [
[
"property",
"accName",
"is",
"foo bar baz"
]
],
"UIA" : [
[
"property",
"Name",
"is",
"foo bar baz"
]
]
},
"title" : "step 1",
"type" : "test"
}
],
"title" : "Name test case 621"
}
) ;
</script>
</head>
<body>
<p>This test examines the ARIA properties for Name test case 621.</p>
<input type="file" id="test">
<label for="test">foo <input type="text" value="bar"> baz</label>
<div id="manualMode"></div>
<div id="log"></div>
<div id="ATTAmessages"></div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More