/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/**
* Test that inputs with placeholder text expose it via AXPlaceholderValue and
* correctly _avoid_ exposing it via AXTItle, AXValue, or AXDescription. Verify AXPlaceholderValue is not exposed when the placeholder is used as the name.
*/
addAccessibleTask(
`
`,
(browser, accDoc) => {
let input = getNativeInterface(accDoc, "input");
let input2 = getNativeInterface(accDoc, "input2");
is(
input.getAttributeValue("AXPlaceholderValue"),
null,
"Placeholder is used as name, so no AXPlaceholderValue is stored."
);
is(input.getAttributeValue("AXDescription"), "Name");
is(input.getAttributeValue("AXTitle"), "", "Correct title");
is(input.getAttributeValue("AXValue"), "", "Correct value");
is(
input2.getAttributeValue("AXPlaceholderValue"),
"Name",
"Correct placeholder value in presence of value"
);
is(
input2.getAttributeValue("AXDescription"),
"Enter Name",
"Correct label"
);
is(input2.getAttributeValue("AXTitle"), "", "Correct title");
is(input2.getAttributeValue("AXValue"), "Elmer Fudd", "Correct value");
}
);
/**
* Test that aria-placeholder gets exposed via AXPlaceholderValue and correctly
* contributes to AXValue (but not title or description).
*/
addAccessibleTask(
`
Birthday