From d88cea8463f221cf80c7042876ba2c541ef2655e Mon Sep 17 00:00:00 2001 From: Kevin White Date: Fri, 23 May 2025 14:31:26 +0100 Subject: [PATCH 01/68] Add accessibility supported --- guidelines/terms/accessibility-supported.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 guidelines/terms/accessibility-supported.md diff --git a/guidelines/terms/accessibility-supported.md b/guidelines/terms/accessibility-supported.md new file mode 100644 index 00000000..e8acd857 --- /dev/null +++ b/guidelines/terms/accessibility-supported.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +Supported by in at least 2 major free browsers on every operating system and/or available in assistive technologies used by 80% cumulatively of the AT users on each operating system for each type of AT used \ No newline at end of file From d4df1b568aeba3aef13cc5c0570486079a3f6722 Mon Sep 17 00:00:00 2001 From: Kevin White Date: Mon, 26 May 2025 14:12:05 +0100 Subject: [PATCH 02/68] Editorial fixes @alastc Could you review these as I have made some slight tweaks? --- guidelines/terms/point-of-regard.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/guidelines/terms/point-of-regard.md b/guidelines/terms/point-of-regard.md index 97d19539..02038b29 100644 --- a/guidelines/terms/point-of-regard.md +++ b/guidelines/terms/point-of-regard.md @@ -4,11 +4,11 @@ synonyms: --- The position in rendered :term[content] that the user is presumed to be viewing. The dimensions of the point of regard can vary. -For example, it can be a two-dimensional area (e.g. content rendered through a two-dimensional graphical viewport), -or a point (e.g. a moment during an audio rendering or a cursor position in a graphical rendering), -or a range of text (e.g. focused text), or a two-dimensional area (e.g. content rendered through a -two-dimensional graphical viewport). The point of regard is almost always within the viewport, -but it can exceed the spatial or temporal dimensions of the viewport (see the definition of -rendered content for more information about viewport dimensions). -The point of regard can also refer to a particular moment in time for content that changes over time (e.g. an audio-only presentation). + +For example, it can be a two-dimensional area (e.g. content rendered through a two-dimensional graphical viewport), or a point (e.g. a moment during an audio rendering or a cursor position in a graphical rendering), or a range of text (e.g. focused text). + +The point of regard is almost always within the viewport, but it can exceed the spatial or temporal dimensions of the viewport. See :term[rendered content] for more information about viewport dimensions. + +The point of regard can also refer to a particular moment in time for content that changes over time. For example, an audio-only presentation. + User agents can determine the point of regard in a number of ways, including based on viewport position in content, keyboard focus, and selection. From 86331cccda27621ae83c02d83979ad20ce977c86 Mon Sep 17 00:00:00 2001 From: Kevin White Date: Mon, 26 May 2025 14:22:55 +0100 Subject: [PATCH 03/68] Add new terms from Q1 2025 work --- guidelines/terms/assistive-technology.md | 28 +++++++++++++++++++ guidelines/terms/blocks-of-text.md | 5 ++++ guidelines/terms/captions.md | 4 +++ .../change-of-viewport-within-a-page-view.md | 18 ++++++++++++ guidelines/terms/closed-system.md | 5 ++++ guidelines/terms/complex-pointer-input.md | 9 ++++++ guidelines/terms/component.md | 5 ++++ guidelines/terms/default-direction-of-text.md | 3 ++ guidelines/terms/default-orientation.md | 11 ++++++++ guidelines/terms/diverse-set-of-users.md | 3 ++ guidelines/terms/essential-exception.md | 3 ++ guidelines/terms/gesture.md | 3 ++ guidelines/terms/high-cognitive-load.md | 3 ++ guidelines/terms/interactive-element.md | 17 +++++++++++ guidelines/terms/navigated-sequentially.md | 5 ++++ guidelines/terms/non-interactive-element.md | 18 ++++++++++++ guidelines/terms/non-web-software.md | 4 +++ guidelines/terms/path-based-gesture.md | 10 +++++++ guidelines/terms/platform.md | 19 +++++++++++++ .../private-and-sensitive-information.md | 12 ++++++++ guidelines/terms/purely-decorative.md | 3 ++ guidelines/terms/section.md | 9 ++++++ guidelines/terms/simple-pointer-input.md | 9 ++++++ guidelines/terms/single-pointer.md | 9 ++++++ .../terms/temporary-change-of-context.md | 3 ++ guidelines/terms/two-dimensional-content.md | 12 ++++++++ .../under-the-control-of-the-provider.md | 4 +++ guidelines/terms/user-interface-context.md | 5 ++++ guidelines/terms/user-manipulable-text.md | 18 ++++++++++++ guidelines/terms/viewport.md | 17 +++++++++++ 30 files changed, 274 insertions(+) create mode 100644 guidelines/terms/assistive-technology.md create mode 100644 guidelines/terms/blocks-of-text.md create mode 100644 guidelines/terms/captions.md create mode 100644 guidelines/terms/change-of-viewport-within-a-page-view.md create mode 100644 guidelines/terms/closed-system.md create mode 100644 guidelines/terms/complex-pointer-input.md create mode 100644 guidelines/terms/component.md create mode 100644 guidelines/terms/default-direction-of-text.md create mode 100644 guidelines/terms/default-orientation.md create mode 100644 guidelines/terms/diverse-set-of-users.md create mode 100644 guidelines/terms/essential-exception.md create mode 100644 guidelines/terms/gesture.md create mode 100644 guidelines/terms/high-cognitive-load.md create mode 100644 guidelines/terms/interactive-element.md create mode 100644 guidelines/terms/navigated-sequentially.md create mode 100644 guidelines/terms/non-interactive-element.md create mode 100644 guidelines/terms/non-web-software.md create mode 100644 guidelines/terms/path-based-gesture.md create mode 100644 guidelines/terms/platform.md create mode 100644 guidelines/terms/private-and-sensitive-information.md create mode 100644 guidelines/terms/purely-decorative.md create mode 100644 guidelines/terms/section.md create mode 100644 guidelines/terms/simple-pointer-input.md create mode 100644 guidelines/terms/single-pointer.md create mode 100644 guidelines/terms/temporary-change-of-context.md create mode 100644 guidelines/terms/two-dimensional-content.md create mode 100644 guidelines/terms/under-the-control-of-the-provider.md create mode 100644 guidelines/terms/user-interface-context.md create mode 100644 guidelines/terms/user-manipulable-text.md create mode 100644 guidelines/terms/viewport.md diff --git a/guidelines/terms/assistive-technology.md b/guidelines/terms/assistive-technology.md new file mode 100644 index 00000000..37401ad2 --- /dev/null +++ b/guidelines/terms/assistive-technology.md @@ -0,0 +1,28 @@ +--- +status: developing +--- + +Hardware and/or software that acts as a :term[user agent], or along with a mainstream user agent, to provide functionality to meet the requirements of users with disabilities that go beyond those offered by mainstream user agents + +:::note +Functionality provided by assistive technology includes alternative presentations (e.g., as synthesized speech or magnified content), alternative input methods (e.g., voice), additional navigation or orientation mechanisms, and content transformations (e.g., to make tables more accessible). +::: + +:::note +Assistive technologies often communicate data and messages with mainstream user agents by using and monitoring APIs. +::: + +:::note +The distinction between mainstream user agents and assistive technologies is not absolute. Many mainstream user agents provide some features to assist individuals with disabilities. The basic difference is that mainstream user agents target broad and diverse audiences that usually include people with and without disabilities. Assistive technologies target narrowly defined populations of users with specific disabilities. The assistance provided by an assistive technology is more specific and appropriate to the needs of its target users. The mainstream user agent may provide important functionality to assistive technologies like retrieving web content from program objects or parsing markup into identifiable bundles. +::: + +:::example +Assistive technologies that are important in the context of this document include the following: + +* screen magnifiers, and other visual reading assistants, which are used by people with visual, perceptual and physical print disabilities to change text font, size, spacing, color, synchronization with speech, etc. in order to improve the visual readability of rendered text and images; +* screen readers, which are used by people who are blind to read textual information through synthesized speech or braille; +* text-to-speech software, which is used by some people with cognitive, language, and learning disabilities to convert text into synthetic speech; +* speech recognition software, which may be used by people who have some physical disabilities; +* alternative keyboards, which are used by people with certain physical disabilities to simulate the keyboard (including alternate keyboards that use head pointers, single switches, sip/puff and other special input devices.); +* alternative pointing devices, which are used by people with certain physical disabilities to simulate mouse pointing and button activations. +::: \ No newline at end of file diff --git a/guidelines/terms/blocks-of-text.md b/guidelines/terms/blocks-of-text.md new file mode 100644 index 00000000..3fe8c90d --- /dev/null +++ b/guidelines/terms/blocks-of-text.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +Continuous text with multiple sentences that is not separated by structural elements such as table cells, regions. \ No newline at end of file diff --git a/guidelines/terms/captions.md b/guidelines/terms/captions.md new file mode 100644 index 00000000..b3088531 --- /dev/null +++ b/guidelines/terms/captions.md @@ -0,0 +1,4 @@ +--- +status: developing +--- + diff --git a/guidelines/terms/change-of-viewport-within-a-page-view.md b/guidelines/terms/change-of-viewport-within-a-page-view.md new file mode 100644 index 00000000..65911d70 --- /dev/null +++ b/guidelines/terms/change-of-viewport-within-a-page-view.md @@ -0,0 +1,18 @@ +--- +title: Change of viewport within a page/view +status: developing +--- + +Change of content/context that causes the users keyboard navigation point to change where they have the option to move back out of the new content/context. + +:::example +Modal dialog +::: + +:::note +“within a page/view is part of this term because - if the new viewport/content/context is within the same page/view going back etc. would be under the control of the author. If moving to another page/view - perhaps on a different site - the current author would not have control and this would be a requirement on the :term[user agent]. +::: + +:::note +This is different from [Change of Context in WCAG 2.x](https://www.w3.org/TR/WCAG22/#dfn-change-of-context) major changes that, if made without user awareness, can disorient users who are not able to view the entire page simultaneously. +::: \ No newline at end of file diff --git a/guidelines/terms/closed-system.md b/guidelines/terms/closed-system.md new file mode 100644 index 00000000..47adbc61 --- /dev/null +++ b/guidelines/terms/closed-system.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +Information technology that prevents users from easily attaching or installing assistive technologies. For example, kiosk, calculator, vending machines, etc. \ No newline at end of file diff --git a/guidelines/terms/complex-pointer-input.md b/guidelines/terms/complex-pointer-input.md new file mode 100644 index 00000000..c0abb05d --- /dev/null +++ b/guidelines/terms/complex-pointer-input.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Any pointer input other than a :term[single pointer] input. + +:::example +Multipoint clicking, dragging (single or multipoint), gestures (single or multipoint), pinching, path-based gestures, timing based gestures, double clicking. +::: \ No newline at end of file diff --git a/guidelines/terms/component.md b/guidelines/terms/component.md new file mode 100644 index 00000000..bbc0a2d6 --- /dev/null +++ b/guidelines/terms/component.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +A grouping of :term[interactive elements] for a distinct function. \ No newline at end of file diff --git a/guidelines/terms/default-direction-of-text.md b/guidelines/terms/default-direction-of-text.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/default-direction-of-text.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/default-orientation.md b/guidelines/terms/default-orientation.md new file mode 100644 index 00000000..a4152589 --- /dev/null +++ b/guidelines/terms/default-orientation.md @@ -0,0 +1,11 @@ +--- +status: developing +--- + +A single orientation that a :term[platform] uses to view :term[content] by default. + +:::example +Web browsers do not have a default orientation for content. + +A mobile phone platform may default to portrait orientation. The home screen and provided apps only work in portrait. +::: \ No newline at end of file diff --git a/guidelines/terms/diverse-set-of-users.md b/guidelines/terms/diverse-set-of-users.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/diverse-set-of-users.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/essential-exception.md b/guidelines/terms/essential-exception.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/essential-exception.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/gesture.md b/guidelines/terms/gesture.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/gesture.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/high-cognitive-load.md b/guidelines/terms/high-cognitive-load.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/high-cognitive-load.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/interactive-element.md b/guidelines/terms/interactive-element.md new file mode 100644 index 00000000..a3e5f28b --- /dev/null +++ b/guidelines/terms/interactive-element.md @@ -0,0 +1,17 @@ +--- +status: developing +--- + +Element that a user can act on + +OR + +A part of the interface that responds to user input and can have a distinct programmatic name. + +:::example +Buttons, controls, input fields. +::: + +:::note +In contrast to :term[non-interactive elements]. For example, headings or paragraphs. +::: \ No newline at end of file diff --git a/guidelines/terms/navigated-sequentially.md b/guidelines/terms/navigated-sequentially.md new file mode 100644 index 00000000..5b459bdc --- /dev/null +++ b/guidelines/terms/navigated-sequentially.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +Navigated in the order defined for advancing focus (from one element to the next) using a keyboard interface. \ No newline at end of file diff --git a/guidelines/terms/non-interactive-element.md b/guidelines/terms/non-interactive-element.md new file mode 100644 index 00000000..3334262b --- /dev/null +++ b/guidelines/terms/non-interactive-element.md @@ -0,0 +1,18 @@ +--- +status: developing +title: Non-interactive element +--- + +Element that a user perceives but cannot act on + +OR + +A part of the interface that does not respond to user input and does not include sub-parts. + +:::example +Paragraphs, images, etc. +::: + +:::note +In contrast to :term[interactive element]. +::: \ No newline at end of file diff --git a/guidelines/terms/non-web-software.md b/guidelines/terms/non-web-software.md new file mode 100644 index 00000000..1cbddf9e --- /dev/null +++ b/guidelines/terms/non-web-software.md @@ -0,0 +1,4 @@ +--- +status: developing +title: Non-web software +--- diff --git a/guidelines/terms/path-based-gesture.md b/guidelines/terms/path-based-gesture.md new file mode 100644 index 00000000..90b33184 --- /dev/null +++ b/guidelines/terms/path-based-gesture.md @@ -0,0 +1,10 @@ +--- +status: developing +title: Path-based gesture +--- + +Gesture that depends on the path of the pointer input and not just its endpoints. + +:::note +Path based gesture includes both time dependent and non-time dependent path-based gestures. +::: \ No newline at end of file diff --git a/guidelines/terms/platform.md b/guidelines/terms/platform.md new file mode 100644 index 00000000..786f797a --- /dev/null +++ b/guidelines/terms/platform.md @@ -0,0 +1,19 @@ +--- +status: developing +--- + +Collection of software components that runs on an underlying software or hardware layer, and that provides a set of software services to other software components that allows those applications to be isolated from the underlying software or hardware layer (from [[iso13066-1]] [i.19]). + +:::note +A particular software component might play the role of a platform in some situations and a client in others. +::: + +:::note +The platform is the context in which the :term[product] exists. +::: + +:::example +* A web-browser is a platform as it provides software services to HTML and JavaScript based software. +* An operating system provides software services to applications designed to run on that platform. +* An e-reader is platform that provides software services to e-books. +::: \ No newline at end of file diff --git a/guidelines/terms/private-and-sensitive-information.md b/guidelines/terms/private-and-sensitive-information.md new file mode 100644 index 00000000..d24a318e --- /dev/null +++ b/guidelines/terms/private-and-sensitive-information.md @@ -0,0 +1,12 @@ +--- +status: developing +--- + +Private and sensitive information such as, but not limited to: + +* Racial or ethnic origin +* Personally identifiable information +* Biometric information +* Medical and health information +* Gender identification +* Financial information \ No newline at end of file diff --git a/guidelines/terms/purely-decorative.md b/guidelines/terms/purely-decorative.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/purely-decorative.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/section.md b/guidelines/terms/section.md new file mode 100644 index 00000000..be75fe56 --- /dev/null +++ b/guidelines/terms/section.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +A self-contained portion of content that deals with one or more related topics or thoughts. + +:::note +A section may consist of one or more paragraphs and include graphics, tables, lists and sub-sections. +::: \ No newline at end of file diff --git a/guidelines/terms/simple-pointer-input.md b/guidelines/terms/simple-pointer-input.md new file mode 100644 index 00000000..5e9a3c6f --- /dev/null +++ b/guidelines/terms/simple-pointer-input.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Input event that involves only a single “click” event or a ‘button down” and “button up” pair of events with no movement between. + +:::note +Double clicks, dragging motions, gestures, and any use of multipoint input or gestures, and the simultaneous use of a mouse and keyboard are examples of things that are not simple pointer actions. +::: \ No newline at end of file diff --git a/guidelines/terms/single-pointer.md b/guidelines/terms/single-pointer.md new file mode 100644 index 00000000..0a841d4c --- /dev/null +++ b/guidelines/terms/single-pointer.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +An input modality that only targets a single point on the page/screen at a time – such as a mouse, single finger on a touch screen, or stylus. + +:::note +Single pointer interactions include clicks, double clicks, taps, dragging motions, and single-finger swipe gestures. In contrast, multipoint interactions involve the use of two or more pointers at the same time, such as two-finger interactions on a touchscreen, or the simultaneous use of a mouse and stylus. +::: \ No newline at end of file diff --git a/guidelines/terms/temporary-change-of-context.md b/guidelines/terms/temporary-change-of-context.md new file mode 100644 index 00000000..ac0828be --- /dev/null +++ b/guidelines/terms/temporary-change-of-context.md @@ -0,0 +1,3 @@ +--- +status: developing +--- diff --git a/guidelines/terms/two-dimensional-content.md b/guidelines/terms/two-dimensional-content.md new file mode 100644 index 00000000..49427ff9 --- /dev/null +++ b/guidelines/terms/two-dimensional-content.md @@ -0,0 +1,12 @@ +--- +status: developing +title: Two-dimensional content +--- + +:::ednote +To be defined. +::: + +:::example +Data tables, electronic program guide, canvases of presentational content (e.g. slides), interfaces with multiple palettes or panels that act on content (e.g. programming interfaces). +::: \ No newline at end of file diff --git a/guidelines/terms/under-the-control-of-the-provider.md b/guidelines/terms/under-the-control-of-the-provider.md new file mode 100644 index 00000000..b3088531 --- /dev/null +++ b/guidelines/terms/under-the-control-of-the-provider.md @@ -0,0 +1,4 @@ +--- +status: developing +--- + diff --git a/guidelines/terms/user-interface-context.md b/guidelines/terms/user-interface-context.md new file mode 100644 index 00000000..73da4438 --- /dev/null +++ b/guidelines/terms/user-interface-context.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +A user interface with a specific layout and associated components. If more than X% of the associated :term[components] are changed, it is a new user interface context. \ No newline at end of file diff --git a/guidelines/terms/user-manipulable-text.md b/guidelines/terms/user-manipulable-text.md new file mode 100644 index 00000000..367dfffe --- /dev/null +++ b/guidelines/terms/user-manipulable-text.md @@ -0,0 +1,18 @@ +--- +status: developing +--- + +Text which the user can adjust. This could include, but is not limited to, changing: + +* Line, word or letter spacing +* Color +* Line length — being able to control width of block of text +* Typographic alignment — justified, flushed right/left, centered +* Wrapping +* Columns — number of columns in one-dimensional content +* Margins +* Underlining, italics, bold +* Font face, size, width +* Capitalization — all caps, small caps, alternating case +* End of line hyphenation +* Links \ No newline at end of file diff --git a/guidelines/terms/viewport.md b/guidelines/terms/viewport.md new file mode 100644 index 00000000..6c107482 --- /dev/null +++ b/guidelines/terms/viewport.md @@ -0,0 +1,17 @@ +--- +status: developing +--- + +Object in which the :term[platform] presents content. + +:::note +Content can be presented through one or more viewports. Viewports include windows, frames, loudspeakers, and virtual magnifying glasses. A viewport may contain another viewport. For example, nested frames. Interface components created by the user agent such as prompts, menus, and alerts are not viewports. +::: + +:::example +For a webpage author, the viewport is the HTML viewport. +::: + +:::example +For an application developer, the viewport is the window. +::: \ No newline at end of file From 00c86f609517d9d8de9a91a7de5d1aaddbadfb29 Mon Sep 17 00:00:00 2001 From: Kevin White Date: Mon, 26 May 2025 14:23:10 +0100 Subject: [PATCH 04/68] Editorial fixes for existing terms --- guidelines/terms/accessibility-support-set.md | 4 +++- guidelines/terms/assertion.md | 2 +- guidelines/terms/automated-evaluation.md | 2 +- guidelines/terms/conformance.md | 2 +- guidelines/terms/content.md | 5 +++++ guidelines/terms/deprecate.md | 2 +- guidelines/terms/evaluation.md | 2 +- guidelines/terms/functional-need.md | 2 +- guidelines/terms/guideline.md | 3 ++- guidelines/terms/human-evaluation.md | 2 +- guidelines/terms/informative.md | 2 +- guidelines/terms/items.md | 2 +- guidelines/terms/method.md | 2 +- guidelines/terms/non-literal-text.md | 2 +- guidelines/terms/normative.md | 2 +- guidelines/terms/point-of-regard.md | 2 +- guidelines/terms/process.md | 6 +++++- guidelines/terms/product.md | 6 +++++- guidelines/terms/programmatically-determinable.md | 3 +++ guidelines/terms/semi-automated-evaluation.md | 2 +- guidelines/terms/single-pointer-input.md | 9 +++++++++ guidelines/terms/task-flow.md | 2 +- guidelines/terms/test.md | 2 +- guidelines/terms/user-agent.md | 9 +++++++++ guidelines/terms/user-testing.md | 2 +- guidelines/terms/view.md | 6 +++++- src/components/respec/GuidelinesRespec.astro | 8 ++++++++ src/components/respec/RequirementsRespec.astro | 2 +- 28 files changed, 72 insertions(+), 23 deletions(-) diff --git a/guidelines/terms/accessibility-support-set.md b/guidelines/terms/accessibility-support-set.md index 4747a5f3..e0a6bdbf 100644 --- a/guidelines/terms/accessibility-support-set.md +++ b/guidelines/terms/accessibility-support-set.md @@ -6,6 +6,8 @@ The group of user agents and assistive technologies you test with. :::ednote The AG is considering defining a default set of user agents and assistive technologies that they use when validating guidelines. + Accessibility support sets may vary based on language, region, or situation. + If you are not using the default accessibility set, the conformance report should indicate what set is being used. -::: +::: \ No newline at end of file diff --git a/guidelines/terms/assertion.md b/guidelines/terms/assertion.md index 55b9cc6a..99380f66 100644 --- a/guidelines/terms/assertion.md +++ b/guidelines/terms/assertion.md @@ -2,4 +2,4 @@ status: developing --- -A formal claim of fact, attributed to a person or organization. An attributable and documented statement of fact regarding procedures practiced in the development and maintenance of the :term[content] or :term[product] to improve accessibility. +A formal claim of fact, attributed to a person or organization. An attributable and documented statement of fact regarding procedures practiced in the development and maintenance of the :term[content] or :term[product] to improve accessibility. \ No newline at end of file diff --git a/guidelines/terms/automated-evaluation.md b/guidelines/terms/automated-evaluation.md index ee456012..01f27f8c 100644 --- a/guidelines/terms/automated-evaluation.md +++ b/guidelines/terms/automated-evaluation.md @@ -11,4 +11,4 @@ synonyms: Automated testing is contrasted with other types of testing that involve human judgement or experience. :term[Semi-automated evaluation] allows machines to guide humans to areas that need inspection. The emerging field of testing conducted via -machine learning is not included in this definition. +machine learning is not included in this definition. \ No newline at end of file diff --git a/guidelines/terms/conformance.md b/guidelines/terms/conformance.md index d2049ec2..259eedf7 100644 --- a/guidelines/terms/conformance.md +++ b/guidelines/terms/conformance.md @@ -7,4 +7,4 @@ synonyms: Satisfying all the requirements of the guidelines. Conformance is an important part of following the guidelines even when not making a formal Conformance Claim. -See [Conformance](#conformance). +See the [Conformance section](#conformance) for more information. \ No newline at end of file diff --git a/guidelines/terms/content.md b/guidelines/terms/content.md index e69de29b..6ee8d256 100644 --- a/guidelines/terms/content.md +++ b/guidelines/terms/content.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +Information and sensory experience to be communicated to the user by an interface, including code or markup that defines the content's structure, presentation, and interactions. \ No newline at end of file diff --git a/guidelines/terms/deprecate.md b/guidelines/terms/deprecate.md index 76296882..daa9568f 100644 --- a/guidelines/terms/deprecate.md +++ b/guidelines/terms/deprecate.md @@ -6,4 +6,4 @@ synonyms: To declare something outdated and in the process of being phased out, usually in favor of a specified replacement. -Deprecated documents are no longer recommended for use and may cease to exist in the future. +Deprecated documents are no longer recommended for use and may cease to exist in the future. \ No newline at end of file diff --git a/guidelines/terms/evaluation.md b/guidelines/terms/evaluation.md index f39039ea..f27e235b 100644 --- a/guidelines/terms/evaluation.md +++ b/guidelines/terms/evaluation.md @@ -1,3 +1,3 @@ The process of examining :term[content] for :term[conformance] to these guidelines. -Different approaches to evaluation include :term[automated evaluation], :term[semi-automated evaluation], :term[human evaluation], and :term[user testing]. +Different approaches to evaluation include :term[automated evaluation], :term[semi-automated evaluation], :term[human evaluation], and :term[user testing]. \ No newline at end of file diff --git a/guidelines/terms/functional-need.md b/guidelines/terms/functional-need.md index 9d6a1fda..d1d5dae6 100644 --- a/guidelines/terms/functional-need.md +++ b/guidelines/terms/functional-need.md @@ -2,4 +2,4 @@ status: developing --- -A statement that describes a specific gap in one’s ability, or a specific mismatch between ability and the designed environment or context. +A statement that describes a specific gap in one’s ability, or a specific mismatch between ability and the designed environment or context. \ No newline at end of file diff --git a/guidelines/terms/guideline.md b/guidelines/terms/guideline.md index 6f86a048..4580422a 100644 --- a/guidelines/terms/guideline.md +++ b/guidelines/terms/guideline.md @@ -10,4 +10,5 @@ but not dive into the technical details. They provide an easy-to-understand way presenting the requirements so that non-experts can learn about and understand the concepts. Each guideline includes a unique, descriptive name along with a high-level plain-language summary. Guidelines address functional needs on specific topics, such as contrast, forms, readability, and more. -Guidelines group related requirements and are technology-independent. + +Guidelines group related requirements and are technology-independent. \ No newline at end of file diff --git a/guidelines/terms/human-evaluation.md b/guidelines/terms/human-evaluation.md index 54e737d4..c5d3d0ef 100644 --- a/guidelines/terms/human-evaluation.md +++ b/guidelines/terms/human-evaluation.md @@ -11,4 +11,4 @@ synonyms: :term[Evaluation] conducted by a human, typically to apply human judgement to tests that cannot be fully :term[automatically evaluated]. -Human evaluation is contrasted with :term[automated evaluation] which is done entirely by machine, though it includes :term[semi-automated evaluation] which allows machines to guide humans to areas that need inspection. Human evaluation involves inspection of content features, by contrast with :term[user testing] which directly tests the experience of users with :term[content]. +Human evaluation is contrasted with :term[automated evaluation] which is done entirely by machine, though it includes :term[semi-automated evaluation] which allows machines to guide humans to areas that need inspection. Human evaluation involves inspection of content features, by contrast with :term[user testing] which directly tests the experience of users with :term[content]. \ No newline at end of file diff --git a/guidelines/terms/informative.md b/guidelines/terms/informative.md index a377de90..c353157d 100644 --- a/guidelines/terms/informative.md +++ b/guidelines/terms/informative.md @@ -4,4 +4,4 @@ synonyms: - non-normative --- -:term[Content] provided for information purposes and not required for :term[conformance]. Also refered to as non-normative. +:term[Content] provided for information purposes and not required for :term[conformance]. Also refered to as non-normative. \ No newline at end of file diff --git a/guidelines/terms/items.md b/guidelines/terms/items.md index 450c1733..f7380a7a 100644 --- a/guidelines/terms/items.md +++ b/guidelines/terms/items.md @@ -3,4 +3,4 @@ status: developing --- The smallest testable unit for testing scope. They could be interactive components such as a drop down menu, a link, or a media player. -They could also be units of :term[content] such as a phrase, a paragraph, a label or error message, an icon, or an :term[image]. +They could also be units of :term[content] such as a phrase, a paragraph, a label or error message, an icon, or an :term[image]. \ No newline at end of file diff --git a/guidelines/terms/method.md b/guidelines/terms/method.md index e756c4ed..8d24bd7f 100644 --- a/guidelines/terms/method.md +++ b/guidelines/terms/method.md @@ -2,4 +2,4 @@ status: developing --- -Detailed information, either technology-specific or technology-agnostic, on ways to meet the :term[requirement] as well as :term[tests] and scoring information. +Detailed information, either technology-specific or technology-agnostic, on ways to meet the :term[requirement] as well as :term[tests] and scoring information. \ No newline at end of file diff --git a/guidelines/terms/non-literal-text.md b/guidelines/terms/non-literal-text.md index 5b828461..3ab2e6ac 100644 --- a/guidelines/terms/non-literal-text.md +++ b/guidelines/terms/non-literal-text.md @@ -23,4 +23,4 @@ Examples: - sarcasm - similes -More detailed examples are available in the :term[Methods] section. +More detailed examples are available in the :term[Methods] section. \ No newline at end of file diff --git a/guidelines/terms/normative.md b/guidelines/terms/normative.md index 2d0654de..a0e0635d 100644 --- a/guidelines/terms/normative.md +++ b/guidelines/terms/normative.md @@ -2,4 +2,4 @@ status: developing --- -:term[Content] whose instructions are required for :term[conformance]. +:term[Content] whose instructions are required for :term[conformance]. \ No newline at end of file diff --git a/guidelines/terms/point-of-regard.md b/guidelines/terms/point-of-regard.md index 02038b29..03b1f7e2 100644 --- a/guidelines/terms/point-of-regard.md +++ b/guidelines/terms/point-of-regard.md @@ -11,4 +11,4 @@ The point of regard is almost always within the viewport, but it can exceed the The point of regard can also refer to a particular moment in time for content that changes over time. For example, an audio-only presentation. -User agents can determine the point of regard in a number of ways, including based on viewport position in content, keyboard focus, and selection. +User agents can determine the point of regard in a number of ways, including based on viewport position in content, keyboard focus, and selection. \ No newline at end of file diff --git a/guidelines/terms/process.md b/guidelines/terms/process.md index 02de6c2c..62d23ba6 100644 --- a/guidelines/terms/process.md +++ b/guidelines/terms/process.md @@ -1 +1,5 @@ -A sequence of steps that need to be completed to accomplish an activity or task from beginning to end. +--- +status: developing +--- + +A sequence of steps that need to be completed to accomplish an activity or task from beginning to end. \ No newline at end of file diff --git a/guidelines/terms/product.md b/guidelines/terms/product.md index 9d47c08e..84285c76 100644 --- a/guidelines/terms/product.md +++ b/guidelines/terms/product.md @@ -2,4 +2,8 @@ status: developing --- -Testing scope that is a combination of all :term[items], :term[views], and :term[task flows] that make up the website, set of web pages, web app, etc. +Testing scope that is a combination of all :term[items], :term[views], and :term[task flows] that make up the web site, set of web pages, web app, etc. + +:::note +The context for the product would be the :term[platform]. +::: \ No newline at end of file diff --git a/guidelines/terms/programmatically-determinable.md b/guidelines/terms/programmatically-determinable.md index a5c9d9e4..62360043 100644 --- a/guidelines/terms/programmatically-determinable.md +++ b/guidelines/terms/programmatically-determinable.md @@ -1,7 +1,10 @@ --- +status: developing synonyms: - programmatically - programmatically indicated - programmatically detectable - programmatically associated --- + +The meaning of the content and all its important attributes can be determined by software functionality that is accessibility supported. \ No newline at end of file diff --git a/guidelines/terms/semi-automated-evaluation.md b/guidelines/terms/semi-automated-evaluation.md index 7857a970..03c57264 100644 --- a/guidelines/terms/semi-automated-evaluation.md +++ b/guidelines/terms/semi-automated-evaluation.md @@ -4,4 +4,4 @@ title: Semi-automated evaluation :term[Evaluation] conducted using machines to guide humans to areas that need inspection. -Semi-automated evaluation involves components of :term[automated evaluation] and :term[human evaluation]. +Semi-automated evaluation involves components of :term[automated evaluation] and :term[human evaluation]. \ No newline at end of file diff --git a/guidelines/terms/single-pointer-input.md b/guidelines/terms/single-pointer-input.md index e69de29b..d2fcf071 100644 --- a/guidelines/terms/single-pointer-input.md +++ b/guidelines/terms/single-pointer-input.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Pointer input that only involves a single location point and a single activation and is not time dependent. + +:::note +Activation is usually by click or tap but can also be by programmatic simulation of a click or tap or other similar simple activation. +::: \ No newline at end of file diff --git a/guidelines/terms/task-flow.md b/guidelines/terms/task-flow.md index 2d080cab..1024d5dd 100644 --- a/guidelines/terms/task-flow.md +++ b/guidelines/terms/task-flow.md @@ -4,4 +4,4 @@ status: developing Testing scope that includes a series views that support a specified user activity. A task flow may include a subset of :term[items] in a :term[view] or a group of views. -Only the part of the views that support the user activity are included in a test of the task flow. +Only the part of the views that support the user activity are included in a test of the task flow. \ No newline at end of file diff --git a/guidelines/terms/test.md b/guidelines/terms/test.md index 214c0e9f..7a35c800 100644 --- a/guidelines/terms/test.md +++ b/guidelines/terms/test.md @@ -2,4 +2,4 @@ status: developing --- -Mechanism to evaluate implementation of a :term[method]. +Mechanism to evaluate implementation of a :term[method]. \ No newline at end of file diff --git a/guidelines/terms/user-agent.md b/guidelines/terms/user-agent.md index e69de29b..7828220e 100644 --- a/guidelines/terms/user-agent.md +++ b/guidelines/terms/user-agent.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Any software that retrieves and presents external content for users. + +:::example +Web browsers, media players, plug-ins, and other programs — including :term[assistive technologies] — that help in retrieving, rendering, and interacting with external content. +::: \ No newline at end of file diff --git a/guidelines/terms/user-testing.md b/guidelines/terms/user-testing.md index 5510f038..9dadf791 100644 --- a/guidelines/terms/user-testing.md +++ b/guidelines/terms/user-testing.md @@ -1 +1 @@ -:term[Evaluation] of :term[content] by observation of how users with specific :term[functional needs] are able to complete a :term[process] and how the content meets the relevant :term[requirements]. +:term[Evaluation] of :term[content] by observation of how users with specific :term[functional needs] are able to complete a :term[process] and how the content meets the relevant :term[requirements]. \ No newline at end of file diff --git a/guidelines/terms/view.md b/guidelines/terms/view.md index 12a670d2..01319d52 100644 --- a/guidelines/terms/view.md +++ b/guidelines/terms/view.md @@ -3,5 +3,9 @@ status: developing --- Testing scope that includes all :term[content] visually and :term[programmatically] available without a significant change. + Conceptually, views correspond to the definition of a web page as used in WCAG 2, but are not restricted to content meeting that definition. -For example, a view could be considered a “screen” in a mobile app or a layer of web content, such as a modal dialog. + +:::example +* A “screen” in a mobile app. +* A layer of web content, such as a modal dialog. \ No newline at end of file diff --git a/src/components/respec/GuidelinesRespec.astro b/src/components/respec/GuidelinesRespec.astro index e95ef907..04dfeafb 100644 --- a/src/components/respec/GuidelinesRespec.astro +++ b/src/components/respec/GuidelinesRespec.astro @@ -448,6 +448,14 @@ date: "February 2014", href: "https://www.etsi.org/deliver/etsi_tr/101500_101599/101550/01.01.01_60/tr_101550v010101p.pdf", }, + "iso13066-1": { + "href": "https://www.iso.org/standard/53770.html", + "title": "Information technology — Interoperability with assistive technology (AT) - Part 1: Requirements and recommendations for interoperability", + "status": "Published", + "publisher": "ISO/IEC", + "isoNumber": "ISO 13066-1:2011", + "rawDate": "2011-05" + }, }, }; diff --git a/src/components/respec/RequirementsRespec.astro b/src/components/respec/RequirementsRespec.astro index 35e0a728..0d667ee8 100644 --- a/src/components/respec/RequirementsRespec.astro +++ b/src/components/respec/RequirementsRespec.astro @@ -99,6 +99,6 @@ maxTocLevel: 4, - //localBiblio: biblio, + localBiblio: biblio, }; From 81ac12c243bafc80f1c1e3f5b5719fe754f29159 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 27 May 2025 12:33:48 -0700 Subject: [PATCH 05/68] add All Content Keyboard Accessible --- .../groups/input-operation/input-operation.md | 1 + .../all-content-keyboard-accessible.md | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 3611617c..938e0ff3 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,5 +1,6 @@ --- children: + - all-content-keyboard-accessible - concurrent-inputs - hover-information - input-control diff --git a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md new file mode 100644 index 00000000..d9d53fa8 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md @@ -0,0 +1,16 @@ +--- +status: exploratory +--- + +All [content](#dfn-content) that can be accessed by other input modalities can be accessed using keyboard interface only. + +:::ednote +All content includes content made available via hovers, right clicks, etc. +::: + +:::ednote +Other input modalities include [pointing devices](#dfn-pointer), voice and speech recognition, [gesture](#dfn-gesture), camera input, and any other other means of input or control. +::: + +:::ednote +If the content is in expanding sections, you need to not just open the sections but also access all of the content, not just its actionable elements. From 88570db0eb9066c2a82cec734fae0db9a903b017 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 27 May 2025 12:34:19 -0700 Subject: [PATCH 06/68] Add Input Method Flexibility --- guidelines/groups/input-operation/input-operation.md | 1 + .../input-operation/input-method-flexibility.md | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/input-method-flexibility.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 938e0ff3..116e8c55 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -4,6 +4,7 @@ children: - concurrent-inputs - hover-information - input-control + - input-method-flexibility --- Users can use different input techniques and combinations and switch between them. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md new file mode 100644 index 00000000..8eb83581 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -0,0 +1,9 @@ +--- +status: exploratory +--- + +Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time, except where a particular input method is [essential](#dfn-essential-exception) to the functionality. + +:::ednote +This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. +::: From 983f20bee9e334e521c532c7b685f47d2a0b87e5 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 27 May 2025 12:38:55 -0700 Subject: [PATCH 07/68] add Change Keyboard Focus With Pointer Device --- guidelines/groups/input-operation/input-operation.md | 1 + .../change-keyboard-focus-with-pointer-device.md | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 116e8c55..ea214078 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,6 +1,7 @@ --- children: - all-content-keyboard-accessible + - change-keyboard-focus-with-pointer-device - concurrent-inputs - hover-information - input-control diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md new file mode 100644 index 00000000..e1529e79 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +If content takes keyboard focus behavior away from the [user agent](#dfn-user-agent), then selecting anything on the [page/view](#dfn-view) with a [pointer](#dfn-pointer) sets the keyboard focus to that element even if the user drags off the element so as to not activate it. From 1e3c45dfb71c2046c2e62a4779c14bcd63d781de Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 27 May 2025 12:50:31 -0700 Subject: [PATCH 08/68] add Gesture Alternative --- guidelines/groups/input-operation/input-operation.md | 1 + .../input-operation/input-operation/gesture-alternative.md | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/gesture-alternative.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index ea214078..5fd3bc11 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -3,6 +3,7 @@ children: - all-content-keyboard-accessible - change-keyboard-focus-with-pointer-device - concurrent-inputs + - gesture-alternative - hover-information - input-control - input-method-flexibility diff --git a/guidelines/groups/input-operation/input-operation/gesture-alternative.md b/guidelines/groups/input-operation/input-operation/gesture-alternative.md new file mode 100644 index 00000000..47c876f5 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/gesture-alternative.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +Gestures are not the only way of achieving any functionality, except where a [gesture](#dfn-gesture) is essential to the functionality. From 3ac5863f13f418693b7df69645776329c2b80626 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 28 May 2025 07:54:08 -0700 Subject: [PATCH 09/68] add essential synonym to essential-exception --- guidelines/terms/essential-exception.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guidelines/terms/essential-exception.md b/guidelines/terms/essential-exception.md index ac0828be..3af9b3ee 100644 --- a/guidelines/terms/essential-exception.md +++ b/guidelines/terms/essential-exception.md @@ -1,3 +1,5 @@ --- status: developing +synonyms: + - essential --- From 795c91ed2fd20d2b535f6dc19348882a3df9d957 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 28 May 2025 07:55:54 -0700 Subject: [PATCH 10/68] change notes and links to glossary terms --- .../all-content-keyboard-accessible.md | 11 ++++++----- .../change-keyboard-focus-with-pointer-device.md | 2 +- .../input-operation/gesture-alternative.md | 2 +- .../input-operation/input-method-flexibility.md | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md index d9d53fa8..94275906 100644 --- a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md +++ b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md @@ -2,15 +2,16 @@ status: exploratory --- -All [content](#dfn-content) that can be accessed by other input modalities can be accessed using keyboard interface only. +All :term[content] that can be accessed by other input modalities can be accessed using keyboard interface only. -:::ednote +:::note All content includes content made available via hovers, right clicks, etc. ::: -:::ednote -Other input modalities include [pointing devices](#dfn-pointer), voice and speech recognition, [gesture](#dfn-gesture), camera input, and any other other means of input or control. +:::note +Other input modalities include :term[pointing devices], voice and speech recognition, :term[gesture], camera input, and any other other means of input or control. ::: -:::ednote +:::note If the content is in expanding sections, you need to not just open the sections but also access all of the content, not just its actionable elements. +::: diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index e1529e79..4575f100 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -2,4 +2,4 @@ status: exploratory --- -If content takes keyboard focus behavior away from the [user agent](#dfn-user-agent), then selecting anything on the [page/view](#dfn-view) with a [pointer](#dfn-pointer) sets the keyboard focus to that element even if the user drags off the element so as to not activate it. +If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. diff --git a/guidelines/groups/input-operation/input-operation/gesture-alternative.md b/guidelines/groups/input-operation/input-operation/gesture-alternative.md index 47c876f5..d0e14e76 100644 --- a/guidelines/groups/input-operation/input-operation/gesture-alternative.md +++ b/guidelines/groups/input-operation/input-operation/gesture-alternative.md @@ -2,4 +2,4 @@ status: exploratory --- -Gestures are not the only way of achieving any functionality, except where a [gesture](#dfn-gesture) is essential to the functionality. +Gestures are not the only way of achieving any functionality, except where a :[gesture] is essential to the functionality. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md index 8eb83581..ca3bc1fa 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -2,8 +2,8 @@ status: exploratory --- -Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time, except where a particular input method is [essential](#dfn-essential-exception) to the functionality. +Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time, except where a particular input method is :term[essential] to the functionality. -:::ednote +:::note This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. ::: From c961655af5488818c060431cacc5342863f0c414 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 28 May 2025 21:21:38 -0700 Subject: [PATCH 11/68] fix term identifier --- .../input-operation/input-operation/gesture-alternative.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/input-operation/gesture-alternative.md b/guidelines/groups/input-operation/input-operation/gesture-alternative.md index d0e14e76..76b3a06a 100644 --- a/guidelines/groups/input-operation/input-operation/gesture-alternative.md +++ b/guidelines/groups/input-operation/input-operation/gesture-alternative.md @@ -2,4 +2,4 @@ status: exploratory --- -Gestures are not the only way of achieving any functionality, except where a :[gesture] is essential to the functionality. +Gestures are not the only way of achieving any functionality, except where a :term[gesture] is essential to the functionality. From 22870af90c718a8de66820572877923b3226bb1f Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 28 May 2025 21:22:28 -0700 Subject: [PATCH 12/68] add keyboard and gestures --- .../groups/input-operation/input-operation.md | 3 +++ .../all-elements-keyboard-actionable.md | 5 ++++ .../content-on-hover-or-keyboard-focus.md | 26 +++++++++++++++++++ .../use-without-body-movement.md | 5 ++++ 4 files changed, 39 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md create mode 100644 guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md create mode 100644 guidelines/groups/input-operation/input-operation/use-without-body-movement.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 5fd3bc11..db2d1dcc 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,12 +1,15 @@ --- children: - all-content-keyboard-accessible + - all-elements-keyboard-actionable - change-keyboard-focus-with-pointer-device - concurrent-inputs + - content-on-hover-or-keyboard-focus - gesture-alternative - hover-information - input-control - input-method-flexibility + - use-without-body-movement --- Users can use different input techniques and combinations and switch between them. diff --git a/guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md new file mode 100644 index 00000000..40dbc5dd --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the keyboard interface. \ No newline at end of file diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md new file mode 100644 index 00000000..1570a5a9 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -0,0 +1,26 @@ +--- +status: exploratory +--- + +When receiving and then removing :term[pointer] hover or keyboard focus triggers additional content to become visible and then hidden, and the visual presentation of the additional content is controlled by the author and not by the :term[user agent], all of the following are true: + +
+
Dismissible:
+
A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content does not obscure or replace other content;
+
Hoverable:
+
If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing;
+
Persistent:
+
The additional content remains visible until the hover or keyboard focus trigger is removed, the user dismisses it, or its information is no longer valid.
+
+ +:::note +Examples of additional content controlled by the user agent include browser tooltips created through use of the HTML title attribute. +::: + +:::note +Custom tooltips, sub-menus, and other non-modal popups that display on hover and keyboard focus are examples of additional content covered by this criterion. +::: + +:::note +This criterion applies to content that appears in addition to the triggering component itself. Since hidden components that are made visible on keyboard focus (such as links used to skip to another part of a :term[view]) do not present additional content they are not covered by this criterion. +::: diff --git a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md new file mode 100644 index 00000000..080ff892 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +Full or gross body movement is not the only way of achieving any functionality, except where full or gross body movement is essential to the functionality. From 4ede1412be87d2d73d284760cde11724a9651964 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 28 May 2025 21:31:28 -0700 Subject: [PATCH 13/68] add bidirectional navigation --- guidelines/groups/input-operation/input-operation.md | 1 + .../input-operation/bidirectional-navigation.md | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 guidelines/groups/input-operation/input-operation/bidirectional-navigation.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index db2d1dcc..37e852f7 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -2,6 +2,7 @@ children: - all-content-keyboard-accessible - all-elements-keyboard-actionable + - bidirectional-navigation - change-keyboard-focus-with-pointer-device - concurrent-inputs - content-on-hover-or-keyboard-focus diff --git a/guidelines/groups/input-operation/input-operation/bidirectional-navigation.md b/guidelines/groups/input-operation/input-operation/bidirectional-navigation.md new file mode 100644 index 00000000..24c815e3 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/bidirectional-navigation.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +It is always possible to move forward and backward at each point using keyboard navigation. From a51562f24f7ce763cb2d245958348b8626a7ed2b Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 08:53:41 -0700 Subject: [PATCH 14/68] remove link to glossary --- .../input-operation/all-content-keyboard-accessible.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md index 94275906..2825ce80 100644 --- a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md +++ b/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md @@ -9,7 +9,7 @@ All content includes content made available via hovers, right clicks, etc. ::: :::note -Other input modalities include :term[pointing devices], voice and speech recognition, :term[gesture], camera input, and any other other means of input or control. +Other input modalities include pointing devices, voice and speech recognition, :term[gesture], camera input, and any other other means of input or control. ::: :::note From fbca4e0b1153a44521fc4cad0024b9daf92795c3 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 09:18:22 -0700 Subject: [PATCH 15/68] =?UTF-8?q?remove=20=E2=80=9Cfocus=E2=80=9D=20from?= =?UTF-8?q?=20definition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guidelines/groups/input-operation/keyboard-operation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-operation.md index 72c882e9..d12f1f03 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-operation.md @@ -9,4 +9,4 @@ children: - non-standard-commands --- -Users can navigate and operate content using only the keyboard focus. +Users can navigate and operate content using only the keyboard. From 4827bce28f8f035f29b38fafbd02dd7d18dbfa7c Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 09:21:46 -0700 Subject: [PATCH 16/68] move incorrectly placed keyboard requirements --- guidelines/groups/input-operation/input-operation.md | 2 -- guidelines/groups/input-operation/keyboard-operation.md | 2 ++ .../all-content-keyboard-accessible.md | 0 .../all-elements-keyboard-actionable.md | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename guidelines/groups/input-operation/{input-operation => keyboard-operation}/all-content-keyboard-accessible.md (100%) rename guidelines/groups/input-operation/{input-operation => keyboard-operation}/all-elements-keyboard-actionable.md (100%) diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 37e852f7..87d5f506 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,7 +1,5 @@ --- children: - - all-content-keyboard-accessible - - all-elements-keyboard-actionable - bidirectional-navigation - change-keyboard-focus-with-pointer-device - concurrent-inputs diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-operation.md index d12f1f03..0f231f36 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-operation.md @@ -1,5 +1,7 @@ --- children: + - all-elements-keyboard-actionable + - all-content-keyboard-accessible - comparable-keyboard-effort - conflicting-keyboard-commands - consistent-keyboard-interaction diff --git a/guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md similarity index 100% rename from guidelines/groups/input-operation/input-operation/all-content-keyboard-accessible.md rename to guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md diff --git a/guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md similarity index 100% rename from guidelines/groups/input-operation/input-operation/all-elements-keyboard-actionable.md rename to guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md From 9014b0155bc81079edce7a6c741671dd194fe3ee Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 09:31:09 -0700 Subject: [PATCH 17/68] move bidirectional navigation --- guidelines/groups/input-operation/input-operation.md | 1 - guidelines/groups/input-operation/keyboard-operation.md | 1 + .../bidirectional-navigation.md | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename guidelines/groups/input-operation/{input-operation => keyboard-operation}/bidirectional-navigation.md (100%) diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 87d5f506..3c54291a 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,6 +1,5 @@ --- children: - - bidirectional-navigation - change-keyboard-focus-with-pointer-device - concurrent-inputs - content-on-hover-or-keyboard-focus diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-operation.md index 0f231f36..c33a3689 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-operation.md @@ -2,6 +2,7 @@ children: - all-elements-keyboard-actionable - all-content-keyboard-accessible + - bidirectional-navigation - comparable-keyboard-effort - conflicting-keyboard-commands - consistent-keyboard-interaction diff --git a/guidelines/groups/input-operation/input-operation/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md similarity index 100% rename from guidelines/groups/input-operation/input-operation/bidirectional-navigation.md rename to guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md From d594d1e1f48be0f35087598b89ca9c5717d56657 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 10:21:45 -0700 Subject: [PATCH 18/68] add keyboard navigable if responsive --- .../keyboard-operation/keyboard-navigable-if-responsive.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md new file mode 100644 index 00000000..60e47bc8 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +If the [page/:term[view]] uses responsive design, the [page/:term[view]] remains fully keyboard navigable. From f8475e660ea50dc32dd2b7d026401b4de9a802aa Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 29 May 2025 10:22:06 -0700 Subject: [PATCH 19/68] add user control of keyboard focus --- .../groups/input-operation/keyboard-operation.md | 2 ++ .../user-control-of-keyboard-focus.md | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-operation.md index c33a3689..01c1653a 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-operation.md @@ -7,9 +7,11 @@ children: - conflicting-keyboard-commands - consistent-keyboard-interaction - keyboard-mode + - keyboard-navigable-if-responsive - keyboard-only - no-keyboard-trap - non-standard-commands + - user-control-of-keyboard-focus --- Users can navigate and operate content using only the keyboard. diff --git a/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md new file mode 100644 index 00000000..51b0ab5b --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md @@ -0,0 +1,15 @@ +--- +status: exploratory +--- + +When the keyboard focus is moved, one of the following is true: +- The focus was moved under direct user control; +- A new [page/:term[view]] such as a dialog is introduced and focus is moved to it; +- The user is informed of the potential move and given the chance to avoid the move. + +:::note +Examples of where it may be useful to ask the user if they want to jump somewhere but they should have the option to say no would be: + +- Forms that say "If you answer no, you can skip questions 8 through 15", and +- When an error is detected on submit: "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. +::: \ No newline at end of file From b36dc021294ae2d9dfd3f4b02fea1ad922c93dec Mon Sep 17 00:00:00 2001 From: Kevin White Date: Fri, 30 May 2025 12:16:55 +0100 Subject: [PATCH 20/68] Some tidying up * Added requirement type * Some editorial fixes * Fixed some :terms * Added 'relevant-keyboard-focus' * Added 'input-method-flexibility-no-exception' --- guidelines/groups/input-operation/input-operation.md | 1 + .../change-keyboard-focus-with-pointer-device.md | 1 + .../input-operation/concurrent-inputs.md | 1 + .../content-on-hover-or-keyboard-focus.md | 1 + .../input-operation/gesture-alternative.md | 1 + .../input-operation/hover-information.md | 1 + .../input-operation/input-operation/input-control.md | 1 + .../input-method-flexibility-no-exception.md | 11 +++++++++++ .../input-operation/input-method-flexibility.md | 1 + .../input-operation/use-without-body-movement.md | 1 + .../groups/input-operation/keyboard-operation.md | 1 + .../all-content-keyboard-accessible.md | 1 + .../all-elements-keyboard-actionable.md | 1 + .../keyboard-operation/bidirectional-navigation.md | 1 + .../keyboard-operation/comparable-keyboard-effort.md | 1 + .../conflicting-keyboard-commands.md | 1 + .../consistent-keyboard-interaction.md | 1 + .../keyboard-operation/keyboard-mode.md | 1 + .../keyboard-navigable-if-responsive.md | 3 ++- .../keyboard-operation/keyboard-only.md | 1 + .../keyboard-operation/no-keyboard-trap.md | 3 ++- .../keyboard-operation/non-standard-commands.md | 1 + .../keyboard-operation/relevant-keyboard-focus.md | 10 ++++++++++ .../user-control-of-keyboard-focus.md | 11 ++++++----- 24 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md create mode 100644 guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 3c54291a..06a62f96 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -8,6 +8,7 @@ children: - input-control - input-method-flexibility - use-without-body-movement + - input-method-flexibility-no-exception --- Users can use different input techniques and combinations and switch between them. diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index 4575f100..67c223eb 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. diff --git a/guidelines/groups/input-operation/input-operation/concurrent-inputs.md b/guidelines/groups/input-operation/input-operation/concurrent-inputs.md index da70d26c..3a4bb722 100644 --- a/guidelines/groups/input-operation/input-operation/concurrent-inputs.md +++ b/guidelines/groups/input-operation/input-operation/concurrent-inputs.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Any input modality available on a platform can be used concurrently. diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md index 1570a5a9..20dec4cc 100644 --- a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- When receiving and then removing :term[pointer] hover or keyboard focus triggers additional content to become visible and then hidden, and the visual presentation of the additional content is controlled by the author and not by the :term[user agent], all of the following are true: diff --git a/guidelines/groups/input-operation/input-operation/gesture-alternative.md b/guidelines/groups/input-operation/input-operation/gesture-alternative.md index 76b3a06a..07755cad 100644 --- a/guidelines/groups/input-operation/input-operation/gesture-alternative.md +++ b/guidelines/groups/input-operation/input-operation/gesture-alternative.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Gestures are not the only way of achieving any functionality, except where a :term[gesture] is essential to the functionality. diff --git a/guidelines/groups/input-operation/input-operation/hover-information.md b/guidelines/groups/input-operation/input-operation/hover-information.md index ad4f9a6d..4c0f9a20 100644 --- a/guidelines/groups/input-operation/input-operation/hover-information.md +++ b/guidelines/groups/input-operation/input-operation/hover-information.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Users can dismiss additional :term[content] (triggered by hover) without moving the pointer, unless the additional content communicates an input error or does not obscure or replace other content. diff --git a/guidelines/groups/input-operation/input-operation/input-control.md b/guidelines/groups/input-operation/input-operation/input-control.md index 82a7f092..8297abdb 100644 --- a/guidelines/groups/input-operation/input-operation/input-control.md +++ b/guidelines/groups/input-operation/input-operation/input-control.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Interactive components are available to all navigation and input methods. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md new file mode 100644 index 00000000..25906ab6 --- /dev/null +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md @@ -0,0 +1,11 @@ +--- +status: exploratory +title: Input method flexibility (no exception) +type: supplemental +--- + +Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time. + +:::note +This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. +::: diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md index ca3bc1fa..e308281d 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time, except where a particular input method is :term[essential] to the functionality. diff --git a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md index 080ff892..bc75b9a8 100644 --- a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md +++ b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Full or gross body movement is not the only way of achieving any functionality, except where full or gross body movement is essential to the functionality. diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-operation.md index 01c1653a..aae28f2e 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-operation.md @@ -12,6 +12,7 @@ children: - no-keyboard-trap - non-standard-commands - user-control-of-keyboard-focus + - relevant-keyboard-focus --- Users can navigate and operate content using only the keyboard. diff --git a/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md index 2825ce80..1bdd99eb 100644 --- a/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md +++ b/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- All :term[content] that can be accessed by other input modalities can be accessed using keyboard interface only. diff --git a/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md index 40dbc5dd..80bb4c96 100644 --- a/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md +++ b/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the keyboard interface. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md index 24c815e3..fecde2c6 100644 --- a/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md +++ b/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- It is always possible to move forward and backward at each point using keyboard navigation. diff --git a/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md b/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md index c9fd3e6b..380392c3 100644 --- a/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md +++ b/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md @@ -1,6 +1,7 @@ --- needsAdditionalResearch: true status: exploratory +type: foundational --- The number of input commands required to complete a task using the keyboard is similar to the number of input commands when using other input modalities. diff --git a/guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md b/guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md index d2834a2f..bf032dec 100644 --- a/guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md +++ b/guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Authored keyboard commands do not conflict with platform commands or they can be remapped. diff --git a/guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md b/guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md index 1c2f8b6c..1915efbf 100644 --- a/guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md +++ b/guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- Keyboard interface interactions are consistent. diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md b/guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md index e3063b1f..030ec504 100644 --- a/guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md +++ b/guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- If the keyboard is non-hardware (such as a virtual keyboard), the keyboard input mode is indicated. diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md index 60e47bc8..b155f028 100644 --- a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md +++ b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- -If the [page/:term[view]] uses responsive design, the [page/:term[view]] remains fully keyboard navigable. +If the :term[view] uses responsive design, the :term[view] remains fully keyboard navigable. diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-only.md b/guidelines/groups/input-operation/keyboard-operation/keyboard-only.md index 8633c7e3..5998a859 100644 --- a/guidelines/groups/input-operation/keyboard-operation/keyboard-only.md +++ b/guidelines/groups/input-operation/keyboard-operation/keyboard-only.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- All functionality must be accessible through the keyboard, except when a task requires input based on the user's specific input action. diff --git a/guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md index 35b654a9..0a4cb4c2 100644 --- a/guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md +++ b/guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md @@ -1,5 +1,6 @@ --- status: exploratory +type: foundational --- -If keyboard focus can be moved to an :term[interactive component], then the keyboard focus can be moved away from that component, or the component can be dismissed, with focus returning to the previous point. +It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or is described on the :term[view] where it is required or on a :term[view] earlier in the process where it is used. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md b/guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md index ae6e74f1..57fddc8a 100644 --- a/guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md +++ b/guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md @@ -1,6 +1,7 @@ --- status: exploratory title: Non-standard commands +type: foundational --- The user is informed of non-standard authored keyboard commands. diff --git a/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md new file mode 100644 index 00000000..01a36fa9 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: foundational +--- + +Except for skip links and other visually hidden elements specifically added to aid keyboard navigation, the keyboard focus order does not include non-interactive elements nor interactive elements in content that is currently visually hidden. + +:::note +Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. Expandable content must not expand unless the user makes explicit selection to do so. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md index 51b0ab5b..8c8b68bc 100644 --- a/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md +++ b/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md @@ -1,15 +1,16 @@ --- status: exploratory +type: foundational --- When the keyboard focus is moved, one of the following is true: - The focus was moved under direct user control; -- A new [page/:term[view]] such as a dialog is introduced and focus is moved to it; +- A new :term[view] such as a dialog is introduced and focus is moved to it; - The user is informed of the potential move and given the chance to avoid the move. -:::note -Examples of where it may be useful to ask the user if they want to jump somewhere but they should have the option to say no would be: +:::example +It may be useful to ask the user if they want to jump somewhere and give them the option to say no when: -- Forms that say "If you answer no, you can skip questions 8 through 15", and -- When an error is detected on submit: "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. +- Forms say "If you answer no, you can skip questions 8 through 15", and +- An error is detected on submit: "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. ::: \ No newline at end of file From 4ff2c4d5bcb1a828aef0883fae4aaed788ad519a Mon Sep 17 00:00:00 2001 From: Kevin White Date: Fri, 30 May 2025 12:44:46 +0100 Subject: [PATCH 21/68] Updates from Inputs subgroup --- guidelines/terms/accessibility-support-set.md | 2 +- guidelines/terms/accessibility-supported.md | 2 +- .../common-keyboard-navigation-technique.md | 9 +++++++++ guidelines/terms/essential-exception.md | 19 +++++++++++++++++++ guidelines/terms/gesture.md | 2 ++ guidelines/terms/non-web-software.md | 2 ++ guidelines/terms/platform.md | 8 ++++++-- guidelines/terms/purely-decorative.md | 2 ++ guidelines/terms/simple-pointer-input.md | 2 +- guidelines/terms/single-pointer-input.md | 10 +++++++++- .../standard-platform0keyboard-commands.md | 9 +++++++++ .../under-the-control-of-the-provider.md | 11 +++++++++++ guidelines/terms/viewport.md | 4 ++++ 13 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 guidelines/terms/common-keyboard-navigation-technique.md create mode 100644 guidelines/terms/standard-platform0keyboard-commands.md diff --git a/guidelines/terms/accessibility-support-set.md b/guidelines/terms/accessibility-support-set.md index e0a6bdbf..3db1c39c 100644 --- a/guidelines/terms/accessibility-support-set.md +++ b/guidelines/terms/accessibility-support-set.md @@ -5,7 +5,7 @@ status: developing The group of user agents and assistive technologies you test with. :::ednote -The AG is considering defining a default set of user agents and assistive technologies that they use when validating guidelines. +The AGWG is considering defining a default set of user agents and assistive technologies that they use when validating guidelines. Accessibility support sets may vary based on language, region, or situation. diff --git a/guidelines/terms/accessibility-supported.md b/guidelines/terms/accessibility-supported.md index e8acd857..9f8e0d99 100644 --- a/guidelines/terms/accessibility-supported.md +++ b/guidelines/terms/accessibility-supported.md @@ -2,4 +2,4 @@ status: developing --- -Supported by in at least 2 major free browsers on every operating system and/or available in assistive technologies used by 80% cumulatively of the AT users on each operating system for each type of AT used \ No newline at end of file +Supported by in at least 2 :term[major] free browsers on every operating system and/or available in assistive technologies used by 80% cumulatively of the AT users on each operating system for each type of AT used. \ No newline at end of file diff --git a/guidelines/terms/common-keyboard-navigation-technique.md b/guidelines/terms/common-keyboard-navigation-technique.md new file mode 100644 index 00000000..e4c6be7c --- /dev/null +++ b/guidelines/terms/common-keyboard-navigation-technique.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Keyboard navigation technique that is the same across most or all applications and platforms and can therefore be relied upon by users who need to navigate by keyboard alone. + +:::note +A sufficient listing of common keyboard navigation techniques for use by authors can be found in the [WCAG common keyboard navigation techniques list](#) +::: \ No newline at end of file diff --git a/guidelines/terms/essential-exception.md b/guidelines/terms/essential-exception.md index 3af9b3ee..aed9ae0b 100644 --- a/guidelines/terms/essential-exception.md +++ b/guidelines/terms/essential-exception.md @@ -3,3 +3,22 @@ status: developing synonyms: - essential --- + +Exception because there is no way to carry out the function without doing it this way or fundamentally changing the functionality. + +:::example +Content that must fail since it is an example of failure or a test sample to be used testing a tool. +::: + +:::example +Real-time based exceptions such as: + +* purchasing items in limited supply; +* a dutch auction where the price keeps dropping until the first person hits they BUY button; +* controlling a drone in flight; +* submitting a proposal by deadline. +::: + +:::example +No undo exceptions such as purchasing things in an auction. +::: \ No newline at end of file diff --git a/guidelines/terms/gesture.md b/guidelines/terms/gesture.md index ac0828be..697f11a5 100644 --- a/guidelines/terms/gesture.md +++ b/guidelines/terms/gesture.md @@ -1,3 +1,5 @@ --- status: developing --- + +A motion made by the body or a body part used to communicate to technology. \ No newline at end of file diff --git a/guidelines/terms/non-web-software.md b/guidelines/terms/non-web-software.md index 1cbddf9e..8a91f643 100644 --- a/guidelines/terms/non-web-software.md +++ b/guidelines/terms/non-web-software.md @@ -2,3 +2,5 @@ status: developing title: Non-web software --- + +Software that does not qualify as web content. \ No newline at end of file diff --git a/guidelines/terms/platform.md b/guidelines/terms/platform.md index 786f797a..369dcf64 100644 --- a/guidelines/terms/platform.md +++ b/guidelines/terms/platform.md @@ -2,10 +2,14 @@ status: developing --- -Collection of software components that runs on an underlying software or hardware layer, and that provides a set of software services to other software components that allows those applications to be isolated from the underlying software or hardware layer (from [[iso13066-1]] [i.19]). +Software, or collection of layers of software, that lie below the subject software and provide services to the subject software and that allows the subject software to be isolated from the hardware, drivers, and other software below. :::note -A particular software component might play the role of a platform in some situations and a client in others. +Platform software both makes it easier for subject software to run on different hardware, and provides the subject software with many services (e.g. functions, utilities, libraries) that make the subject software easier to write, keep updated, and work more uniformly with other subject software. +::: + +:::note +A particular software component might play the role of a platform in some situations and a client in others. For example a browser is a platform for the content of the page but it also relies on the operating system below it. ::: :::note diff --git a/guidelines/terms/purely-decorative.md b/guidelines/terms/purely-decorative.md index ac0828be..e38484a9 100644 --- a/guidelines/terms/purely-decorative.md +++ b/guidelines/terms/purely-decorative.md @@ -1,3 +1,5 @@ --- status: developing --- + +content that, if removed, does not affect the meaning or functionality of the page. \ No newline at end of file diff --git a/guidelines/terms/simple-pointer-input.md b/guidelines/terms/simple-pointer-input.md index 5e9a3c6f..007e8366 100644 --- a/guidelines/terms/simple-pointer-input.md +++ b/guidelines/terms/simple-pointer-input.md @@ -5,5 +5,5 @@ status: developing Input event that involves only a single “click” event or a ‘button down” and “button up” pair of events with no movement between. :::note -Double clicks, dragging motions, gestures, and any use of multipoint input or gestures, and the simultaneous use of a mouse and keyboard are examples of things that are not simple pointer actions. +Examples of things that are not simple pointer actions include double clicks, dragging motions, gestures, and any use of multipoint input or gestures, and the simultaneous use of a mouse and keyboard. ::: \ No newline at end of file diff --git a/guidelines/terms/single-pointer-input.md b/guidelines/terms/single-pointer-input.md index d2fcf071..b6906318 100644 --- a/guidelines/terms/single-pointer-input.md +++ b/guidelines/terms/single-pointer-input.md @@ -2,7 +2,15 @@ status: developing --- -Pointer input that only involves a single location point and a single activation and is not time dependent. +An input modality that only targets a single point on the :term[view] at a time – such as a mouse, single finger on a touch screen, or stylus. + +:::note +Single pointer interactions include clicks, double clicks, taps, dragging motions, and single-finger swipe gestures. In contrast, multipoint interactions involve the use of two or more pointers at the same time, such as two-finger interactions on a touchscreen, or the simultaneous use of a mouse and stylus. +::: + +:::note +Single pointer input is in contrast to multipoint input such as two, three or more fingers or pointers touching the surface, or gesturing in the air, at the same time. +::: :::note Activation is usually by click or tap but can also be by programmatic simulation of a click or tap or other similar simple activation. diff --git a/guidelines/terms/standard-platform0keyboard-commands.md b/guidelines/terms/standard-platform0keyboard-commands.md new file mode 100644 index 00000000..1fa0c94a --- /dev/null +++ b/guidelines/terms/standard-platform0keyboard-commands.md @@ -0,0 +1,9 @@ +--- +status: developing +--- + +Keyboard commands that are the same across most or platforms and are relied upon by users who need to navigate by keyboard alone + +:::note +A sufficient listing of common keyboard navigation techniques for use by authors can be found in the [WCAG standard keyboard navigation techniques list](#) +::: \ No newline at end of file diff --git a/guidelines/terms/under-the-control-of-the-provider.md b/guidelines/terms/under-the-control-of-the-provider.md index b3088531..9387406e 100644 --- a/guidelines/terms/under-the-control-of-the-provider.md +++ b/guidelines/terms/under-the-control-of-the-provider.md @@ -2,3 +2,14 @@ status: developing --- +Where the provider is able to influence the content and its functionality. + +:::note +This could be by directly creating the content themselves or by having influence by means of financial or other reward or removal of reward to the author of the content. + +:::example +Examples include: + +* the provider purchases the content for the site; +* the provider contracts with or pays for content on the site and has discretion for what is posted. +::: diff --git a/guidelines/terms/viewport.md b/guidelines/terms/viewport.md index 6c107482..d3f81de5 100644 --- a/guidelines/terms/viewport.md +++ b/guidelines/terms/viewport.md @@ -4,6 +4,10 @@ status: developing Object in which the :term[platform] presents content. +:::note +The author has no control of the viewport and almost always has no idea what is presented in a viewport (e.g. what is on screen) because it is provided by the platform. On browsers the hardware platform is isolated from the content. +::: + :::note Content can be presented through one or more viewports. Viewports include windows, frames, loudspeakers, and virtual magnifying glasses. A viewport may contain another viewport. For example, nested frames. Interface components created by the user agent such as prompts, menus, and alerts are not viewports. ::: From d9eb3455d85e3acbc82877bcd78b35ab8c425996 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 06:23:53 -0700 Subject: [PATCH 22/68] fix typo in filename --- ...eyboard-commands.md => standard-platform-keyboard-commands.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename guidelines/terms/{standard-platform0keyboard-commands.md => standard-platform-keyboard-commands.md} (100%) diff --git a/guidelines/terms/standard-platform0keyboard-commands.md b/guidelines/terms/standard-platform-keyboard-commands.md similarity index 100% rename from guidelines/terms/standard-platform0keyboard-commands.md rename to guidelines/terms/standard-platform-keyboard-commands.md From 7edef592a9527d00293720f6faf91d6b5ae51012 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 13:39:51 -0700 Subject: [PATCH 23/68] add physical or cognitive effort content --- guidelines/groups/input-operation.json | 1 + ...sical-or-cognitive-effort-when-using-keyboard.md | 9 +++++++++ .../comparable-keyboard-effort.md | 10 ++++++++++ .../logical-keyboard-focus-order.md | 6 ++++++ .../preserve-keyboard-focus.md | 6 ++++++ .../repetitive-links.md | 10 ++++++++++ .../standard-or-described-navigation-keys.md | 13 +++++++++++++ 7 files changed, 55 insertions(+) create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index 85d6dca9..a4b5a835 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -2,6 +2,7 @@ "children": [ "input-operation", "content-changes", + "physical-or-cognitive-effort-when-using-keyboard", "target-size", "keyboard-operation", "gestures", diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md new file mode 100644 index 00000000..6dd148de --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -0,0 +1,9 @@ +--- +children: + - logical-keyboard-focus-order + - standard-or-described-navigation-keys + - preserve-keyboard-focus + - repetitive-links +--- + +Users can use keyboard without unnecessary physical or cognitive effort. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md new file mode 100644 index 00000000..a08ab0c1 --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: supplemental +--- + +The number of input commands required for a :term[process] using the keyboard is similar to the number of commands when using other input modalities. + +:::note +Other input modalities include pointer and voice. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md new file mode 100644 index 00000000..f6194e9f --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: foundational +--- + +The keyboard focus moves sequentially through :term[content] in an order and way that preserves meaning and operability. \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md new file mode 100644 index 00000000..673c038b --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: foundational +--- + +When keyboard focus moves from a [page/view], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous [page/view], the keyboard focus is restored to its previous location. \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md new file mode 100644 index 00000000..062dc0f4 --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: supplemental +--- + +Repetitive adjacent links that have the same destination are avoided. + +:::note +A common pattern is having a component that contains a linked image and some linked text, where both links go to the same content. Someone using screen reading software can be disoriented from the unnecessary chatter, and a keyboard user has to navigate through more tab stops than should be necessary. Combining adjacent links that go to the same content improves the user experience. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md new file mode 100644 index 00000000..9ffa4624 --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -0,0 +1,13 @@ +--- +status: exploratory +type: foundational +--- + +If any keyboard action needed to navigate, perceive, and operate the full content of the [page/:term[view]] is not a common keyboard navigation technique, then it is described on the [page/:term[view]] where it is required or on a [page/:term[view]] earlier in the :term[process] where it is used. + +:::note +Any platform related functions are not the responsibility of the author as long as they are not defeated by the content. Examples: + +- Tab and Shift + Tab to move through elements +- Sticky Keys functionality that allows single key activation of multi-key commands +::: From 72cacced13f857aa30874375a836fd845bf5812b Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 18:44:49 -0700 Subject: [PATCH 24/68] add plural synonym --- guidelines/terms/single-pointer-input.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guidelines/terms/single-pointer-input.md b/guidelines/terms/single-pointer-input.md index b6906318..c0937177 100644 --- a/guidelines/terms/single-pointer-input.md +++ b/guidelines/terms/single-pointer-input.md @@ -1,5 +1,7 @@ --- status: developing +synonyms: + - single pointer inputs --- An input modality that only targets a single point on the :term[view] at a time – such as a mouse, single finger on a touch screen, or stylus. From e8338b05b8a6941866b059f986178bf30807a27e Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 18:49:49 -0700 Subject: [PATCH 25/68] add plural synonym --- guidelines/terms/complex-pointer-input.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guidelines/terms/complex-pointer-input.md b/guidelines/terms/complex-pointer-input.md index c0abb05d..ed895e46 100644 --- a/guidelines/terms/complex-pointer-input.md +++ b/guidelines/terms/complex-pointer-input.md @@ -1,5 +1,7 @@ --- status: developing +synonyms: + - complex pointer inputs --- Any pointer input other than a :term[single pointer] input. From 62644f2ffb51404266d8f41c20f976ce1f980448 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 22:06:39 -0700 Subject: [PATCH 26/68] add pointer input --- guidelines/groups/input-operation.json | 1 + 1 file changed, 1 insertion(+) diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index a4b5a835..2e9f3b02 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -3,6 +3,7 @@ "input-operation", "content-changes", "physical-or-cognitive-effort-when-using-keyboard", + "pointer-input", "target-size", "keyboard-operation", "gestures", From 178ebd1c9ee06c760a597e2537d0f9e295d621e3 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 22:06:57 -0700 Subject: [PATCH 27/68] link terms --- .../preserve-keyboard-focus.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index 673c038b..1db69f81 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,4 +3,4 @@ status: exploratory type: foundational --- -When keyboard focus moves from a [page/view], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous [page/view], the keyboard focus is restored to its previous location. \ No newline at end of file +When keyboard focus moves from a [page/:term[view]], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous [page/:term[view]], the keyboard focus is restored to its previous location. \ No newline at end of file From 27936e45dcf733d891ba2e2c7657fd58c6d8ae20 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 22:07:47 -0700 Subject: [PATCH 28/68] add simple-pointer-input and pointer-speed --- guidelines/groups/input-operation/pointer-input.md | 7 +++++++ .../pointer-input/pointer-speed-alternative.md | 10 ++++++++++ .../pointer-input/simple-pointer-input.md | 14 ++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 guidelines/groups/input-operation/pointer-input.md create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md create mode 100644 guidelines/groups/input-operation/pointer-input/simple-pointer-input.md diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md new file mode 100644 index 00000000..75e0ebe5 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input.md @@ -0,0 +1,7 @@ +--- +children: + - simple-pointer-input + - pointer-speed-input +--- + +:term[Pointer] input is consistent and all functionality can be done with :term[simple pointer input] in a time and pressure insensitive way. diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md new file mode 100644 index 00000000..6be510b0 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: foundational +--- + +Specific :term[pointer] speed is not the only way of achieving any functionality, except where specific :term[pointer] speed is essential to the functionality. + +:::note +Specific :term[pointer] speed would be essential to a paintbrush feature, advanced signature verification, or time constrained gaming. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md new file mode 100644 index 00000000..aed8e21b --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md @@ -0,0 +1,14 @@ +--- +status: exploratory +type: foundational +--- + +Any functionality that uses pointer input other than :term[simple pointer input] can also be operated by a :term[simple pointer input] or a sequence of :term[simple pointer inputs] that do not require timing. + +:::note +Examples of :term[pointer] input that are not simple pointer input are double clicking, swipe gestures, multipoint gestures like pinching or split tap or two-finger rotor, double click, variable pressure or timing, and dragging movements. +::: + +:::note +:term[Complex pointer inputs] are not banned, they just can't be the only way to accomplish an action. +::: \ No newline at end of file From 4d6293095fa051cf6d8844715ab4b463e46d2889 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 22:20:30 -0700 Subject: [PATCH 29/68] sort requiements --- guidelines/groups/input-operation/pointer-input.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index 75e0ebe5..0d0c96bd 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,7 +1,9 @@ --- children: + - consistent-pointer-cancellation + - pointer-pressure-alternative + - pointer-speed-alternative - simple-pointer-input - - pointer-speed-input --- :term[Pointer] input is consistent and all functionality can be done with :term[simple pointer input] in a time and pressure insensitive way. From 87fcf0be5992eaca208698799e87ab8854d13ff5 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 30 May 2025 22:20:51 -0700 Subject: [PATCH 30/68] add ponter cancellationd and pointer pressure alt --- .../pointer-input/consistent-pointer-cancellation.md | 6 ++++++ .../pointer-input/pointer-pressure-alternative.md | 10 ++++++++++ 2 files changed, 16 insertions(+) create mode 100644 guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md new file mode 100644 index 00000000..d9ac5c6f --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: supplemental +--- + +The method of :term[pointer] cancellation is consistent within the product/entire scoop of a :term[conformance] claim. \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md new file mode 100644 index 00000000..3b43c1d8 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: foundational +--- + +Specific :term[pointer] pressure is not the only way of achieving any functionality, except where specific pressure is essential to the functionality. + +:::note +Specific pressure would be essential to a paintbrush feature or advance signature verification. +::: \ No newline at end of file From aab2826447ce83f2a1b66b189e4fccca2547e98d Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Sat, 31 May 2025 07:10:38 -0700 Subject: [PATCH 31/68] add new glossary terms --- guidelines/terms/assistive-technology.md | 2 ++ guidelines/terms/down-event.md | 7 +++++++ guidelines/terms/mechanism.md | 13 +++++++++++++ guidelines/terms/relied-upon.md | 5 +++++ guidelines/terms/technology.md | 17 +++++++++++++++++ guidelines/terms/up-event.md | 7 +++++++ guidelines/terms/user-agent.md | 2 ++ 7 files changed, 53 insertions(+) create mode 100644 guidelines/terms/down-event.md create mode 100644 guidelines/terms/mechanism.md create mode 100644 guidelines/terms/relied-upon.md create mode 100644 guidelines/terms/technology.md create mode 100644 guidelines/terms/up-event.md diff --git a/guidelines/terms/assistive-technology.md b/guidelines/terms/assistive-technology.md index 37401ad2..062781a4 100644 --- a/guidelines/terms/assistive-technology.md +++ b/guidelines/terms/assistive-technology.md @@ -1,5 +1,7 @@ --- status: developing +synonyms: + - assistive technologies --- Hardware and/or software that acts as a :term[user agent], or along with a mainstream user agent, to provide functionality to meet the requirements of users with disabilities that go beyond those offered by mainstream user agents diff --git a/guidelines/terms/down-event.md b/guidelines/terms/down-event.md new file mode 100644 index 00000000..c60a429e --- /dev/null +++ b/guidelines/terms/down-event.md @@ -0,0 +1,7 @@ +--- +status: developing +--- + +A platform event that occurs when the trigger stimulus of a pointer is depressed. + +The down-event may have different names on different platforms, such as "touchstart" or "mousedown". diff --git a/guidelines/terms/mechanism.md b/guidelines/terms/mechanism.md new file mode 100644 index 00000000..c6b52865 --- /dev/null +++ b/guidelines/terms/mechanism.md @@ -0,0 +1,13 @@ +--- +status: developing +--- + +A :term[process] or technique for achieving a result. + +:::note +The mechanism may be explicitly provided in the content, or may be relied upon to be provided by either the platform or by :term[user agents], including :term[assistive technologies]. +::: + +:::note +The mechanism needs to meet all success criteria for the conformance level claimed. +::: \ No newline at end of file diff --git a/guidelines/terms/relied-upon.md b/guidelines/terms/relied-upon.md new file mode 100644 index 00000000..b0c9e745 --- /dev/null +++ b/guidelines/terms/relied-upon.md @@ -0,0 +1,5 @@ +--- +status: developing +--- + +The content would not :term[conform] if that :term[technology] is turned off or is not supported. \ No newline at end of file diff --git a/guidelines/terms/technology.md b/guidelines/terms/technology.md new file mode 100644 index 00000000..c0b1d9f3 --- /dev/null +++ b/guidelines/terms/technology.md @@ -0,0 +1,17 @@ +--- +status: developing +--- + +A mechanism for encoding instructions to be rendered, played or executed by :term[user agents]. + +:::note +As used in these guidelines "web technology" and the word "technology" (when used alone) both refer to web content technologies. +::: + +:::note +Web content technologies may include markup languages, data formats, or programming languages that authors may use alone or in combination to create end-user experiences. +::: + +:::example +Some common examples of web content technologies include HTML, CSS, SVG, PNG, PDF, and JavaScript. +::: \ No newline at end of file diff --git a/guidelines/terms/up-event.md b/guidelines/terms/up-event.md new file mode 100644 index 00000000..e34ba589 --- /dev/null +++ b/guidelines/terms/up-event.md @@ -0,0 +1,7 @@ +--- +status: developing +--- + +A platform event that occurs when the trigger stimulus of a pointer is released. + +The up-event may have different names on different platforms, such as "touchend" or "mouseup". \ No newline at end of file diff --git a/guidelines/terms/user-agent.md b/guidelines/terms/user-agent.md index 7828220e..54e5851a 100644 --- a/guidelines/terms/user-agent.md +++ b/guidelines/terms/user-agent.md @@ -1,5 +1,7 @@ --- status: developing +synonyms: + - user agents --- Any software that retrieves and presents external content for users. From 7026235516000ec5b1d29d12c82215128234abdc Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Sat, 31 May 2025 07:15:04 -0700 Subject: [PATCH 32/68] add pointer cancellation --- .../groups/input-operation/pointer-input.md | 1 + .../pointer-input/pointer-cancellation.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-cancellation.md diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index 0d0c96bd..16e22bb2 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,6 +1,7 @@ --- children: - consistent-pointer-cancellation + - pointer-cancellation - pointer-pressure-alternative - pointer-speed-alternative - simple-pointer-input diff --git a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md new file mode 100644 index 00000000..043125ec --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md @@ -0,0 +1,18 @@ +--- +status: exploratory +type: foundational +--- + +For functionality that can be activated using a :term[simple pointer input], at least one of the following is true: + +No Down-Event +: The :term[down event] of the pointer is not used to execute any part of the function; + +Abort or Undo +: Completion of the function is on the :term[up event], and a mechanism is available to abort the function before completion or to undo the function after completion; + +Up Reversal +: The :term[up event] reverses any outcome of the preceding down-event; + +Essential +: Completing the function on the down-event is essential. \ No newline at end of file From 9e9660e40520b1ae933c26189657937a728919d5 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Sat, 31 May 2025 09:01:41 -0700 Subject: [PATCH 33/68] add remaining pointer input requirements --- guidelines/groups/input-operation/pointer-input.md | 4 ++++ .../consistent-pointer-cancellation-set-of-pages-views.md | 7 +++++++ .../pointer-pressure-alternative-no-exception.md | 7 +++++++ .../pointer-input/pointer-speed-adjustable.md | 6 ++++++ .../pointer-speed-alternative-no-exception.md | 7 +++++++ 5 files changed, 31 insertions(+) create mode 100644 guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md create mode 100644 guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index 16e22bb2..e27a24d1 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,9 +1,13 @@ --- children: - consistent-pointer-cancellation + - consistent-pointer-cancellation-set-of-pages-views - pointer-cancellation - pointer-pressure-alternative + - pointer-pressure-alternative-no-exception + - pointer-speed-adjustable - pointer-speed-alternative + - pointer-speed-alternative-no-exception - simple-pointer-input --- diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md new file mode 100644 index 00000000..b181c730 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md @@ -0,0 +1,7 @@ +--- +status: exploratory +title: Consistent pointer cancellation - set of pages / views +type: foundational +--- + +The method of :term[pointer] cancellation is consistent within a :term[product] or set of [pages/:term[views]]. \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md new file mode 100644 index 00000000..74ea95b0 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md @@ -0,0 +1,7 @@ +--- +status: exploratory +title: Pointer pressure alternative (no exception) +type: supplemental +--- + +Specific pressure is not the only way of achieving any functionality, except where specific pressure is essential to the functionality. \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md new file mode 100644 index 00000000..14ee684b --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: supplemental +--- + +Wherever specific :term[pointer] speeds are used, the pointer speed parameters can be adjusted. diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md new file mode 100644 index 00000000..0b925583 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md @@ -0,0 +1,7 @@ +--- +status: exploratory +title: Pointer speed alternative (no exception) +type: supplemental +--- + +Specific :term[pointer] speed is not the only way of achieving any functionality. \ No newline at end of file From 925a3a252ea68fb9d7afd3d40d12a0b0f595eced Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Sat, 31 May 2025 10:36:26 -0700 Subject: [PATCH 34/68] added speech and voice input --- guidelines/groups/input-operation.json | 1 + .../groups/input-operation/speech-and-voice-input.md | 12 ++++++++++++ .../feedback-for-speech-commands.md | 10 ++++++++++ .../speech-and-voice-input/front-end-loading.md | 10 ++++++++++ .../real-time-bidirectional-voice-communication.md | 7 +++++++ .../speech-and-voice-input/speech-alternative.md | 6 ++++++ .../unique-visible-identifier.md | 6 ++++++ .../speech-and-voice-input/unique-visible-label.md | 10 ++++++++++ .../speech-and-voice-input/voice-identification.md | 6 ++++++ 9 files changed, 68 insertions(+) create mode 100644 guidelines/groups/input-operation/speech-and-voice-input.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md create mode 100644 guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index 2e9f3b02..5cf3defd 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -4,6 +4,7 @@ "content-changes", "physical-or-cognitive-effort-when-using-keyboard", "pointer-input", + "speech-and-voice-input", "target-size", "keyboard-operation", "gestures", diff --git a/guidelines/groups/input-operation/speech-and-voice-input.md b/guidelines/groups/input-operation/speech-and-voice-input.md new file mode 100644 index 00000000..33950f6a --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input.md @@ -0,0 +1,12 @@ +--- +children: + - feedback-for-speech-commands + - front-end-loading + - speech-alternative + - real-time-bidirectional-voice-communication + - voice-identification + - unique-visible-identifier + - unique-visible-label +--- + +Provide alternatives to speech input for those who cannot speak, and facilitate speech control for those for whom it is most effective. diff --git a/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md b/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md new file mode 100644 index 00000000..5b2b0ccf --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: supplemental +--- + +Where speech control is provided by the content, feedback is presented to acknowledge receipt of voice commands and when voice commands are active or not. + +:::note +The condition above means that authors are not responsible for speech control provided by user agent or platform. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md b/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md new file mode 100644 index 00000000..174f7bc0 --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: supplemental +--- + +Where there is a list of many items with repeated text in the item text, the unique information is presented first for each item (front end loaded). + +:::example +For a list of departments put the name of the department first (e.g., English Department, Mathematics Department) rather than the word “department” (e.g., Department of English, Department of Mathematics). +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md b/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md new file mode 100644 index 00000000..69160e7e --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md @@ -0,0 +1,7 @@ +--- +status: exploratory +title: Real-time bidirectional voice communication +type: foundational +--- + +Wherever there is real-time bidirectional voice communication, a real-time text option is available. \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md b/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md new file mode 100644 index 00000000..e43ddcf0 --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: foundational +--- + +Speech input is not the only way of achieving any functionality except where a speech input is :term[essential] to the functionality. \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md new file mode 100644 index 00000000..f88494b0 --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: foundational +--- + +Each active element has a unique visible text identifier (e.g., Name, Label). \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md new file mode 100644 index 00000000..598d7499 --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md @@ -0,0 +1,10 @@ +--- +status: exploratory +type: supplemental +--- + +Each :term[interactive element] has unique label associated with it to allow unambiguous voice control + +:::note +"Associated with it" does not mean that each element has its own label. Instead, it means that it can be unambiguously specified using the visual labels on the [page/:term[view]]. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md b/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md new file mode 100644 index 00000000..67c6cd7b --- /dev/null +++ b/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: foundational +--- + +Voice is not the only way to identify or authenticate. \ No newline at end of file From 051f4a8f64e3545805b90cc61d20e4e52d20e101 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 3 Jun 2025 09:35:40 -0700 Subject: [PATCH 35/68] remove old requirements --- guidelines/groups/input-operation/gestures.md | 1 - .../groups/input-operation/gestures/pointer-cancellation.md | 5 ----- guidelines/groups/input-operation/pointer-input.md | 1 - .../pointer-input/consistent-pointer-cancellation.md | 6 ------ 4 files changed, 13 deletions(-) delete mode 100644 guidelines/groups/input-operation/gestures/pointer-cancellation.md delete mode 100644 guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md diff --git a/guidelines/groups/input-operation/gestures.md b/guidelines/groups/input-operation/gestures.md index 6da18429..7df4a28c 100644 --- a/guidelines/groups/input-operation/gestures.md +++ b/guidelines/groups/input-operation/gestures.md @@ -3,7 +3,6 @@ children: - change-focus-with-pointer-device - complex-pointer-inputs - pointer-agnostic - - pointer-cancellation - specific-pressure - speed-insensitive --- diff --git a/guidelines/groups/input-operation/gestures/pointer-cancellation.md b/guidelines/groups/input-operation/gestures/pointer-cancellation.md deleted file mode 100644 index 92a821f1..00000000 --- a/guidelines/groups/input-operation/gestures/pointer-cancellation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -The method of pointer cancellation is consistent. diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index e27a24d1..f914fd92 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,6 +1,5 @@ --- children: - - consistent-pointer-cancellation - consistent-pointer-cancellation-set-of-pages-views - pointer-cancellation - pointer-pressure-alternative diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md deleted file mode 100644 index d9ac5c6f..00000000 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -The method of :term[pointer] cancellation is consistent within the product/entire scoop of a :term[conformance] claim. \ No newline at end of file From 1256f4728b790aed5c0e7da3c8311c6f353baec9 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 4 Jun 2025 08:02:44 -0700 Subject: [PATCH 36/68] replace pageview with just view --- .../preserve-keyboard-focus.md | 2 +- .../standard-or-described-navigation-keys.md | 2 +- .../consistent-pointer-cancellation-set-of-pages-views.md | 2 +- .../speech-and-voice-input/unique-visible-label.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index 1db69f81..d7f29e9b 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,4 +3,4 @@ status: exploratory type: foundational --- -When keyboard focus moves from a [page/:term[view]], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous [page/:term[view]], the keyboard focus is restored to its previous location. \ No newline at end of file +When keyboard focus moves from a :term[view], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous :term[view], the keyboard focus is restored to its previous location. \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md index 9ffa4624..3eda65d5 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If any keyboard action needed to navigate, perceive, and operate the full content of the [page/:term[view]] is not a common keyboard navigation technique, then it is described on the [page/:term[view]] where it is required or on a [page/:term[view]] earlier in the :term[process] where it is used. +If any keyboard action needed to navigate, perceive, and operate the full content of the :term[view] is not a common keyboard navigation technique, then it is described on the :term[view] where it is required or on a :term[view] earlier in the :term[process] where it is used. :::note Any platform related functions are not the responsibility of the author as long as they are not defeated by the content. Examples: diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md index b181c730..15cff990 100644 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md @@ -4,4 +4,4 @@ title: Consistent pointer cancellation - set of pages / views type: foundational --- -The method of :term[pointer] cancellation is consistent within a :term[product] or set of [pages/:term[views]]. \ No newline at end of file +The method of :term[pointer] cancellation is consistent within a :term[product] or set of :term[views]. \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md index 598d7499..b3e2f90f 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md +++ b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md @@ -6,5 +6,5 @@ type: supplemental Each :term[interactive element] has unique label associated with it to allow unambiguous voice control :::note -"Associated with it" does not mean that each element has its own label. Instead, it means that it can be unambiguously specified using the visual labels on the [page/:term[view]]. +"Associated with it" does not mean that each element has its own label. Instead, it means that it can be unambiguously specified using the visual labels on the :term[view]. ::: \ No newline at end of file From 6d19ac2aa8840b4b1103f1e13bcaf4d19b1fd75e Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 6 Jun 2025 13:10:13 -0700 Subject: [PATCH 37/68] remove gestures section as content moved elsewhere --- guidelines/groups/input-operation.json | 1 - guidelines/groups/input-operation/gestures.md | 10 ---------- .../gestures/change-focus-with-pointer-device.md | 5 ----- .../input-operation/gestures/complex-pointer-inputs.md | 5 ----- .../input-operation/gestures/pointer-agnostic.md | 6 ------ .../input-operation/gestures/specific-pressure.md | 6 ------ .../input-operation/gestures/speed-insensitive.md | 6 ------ 7 files changed, 39 deletions(-) delete mode 100644 guidelines/groups/input-operation/gestures.md delete mode 100644 guidelines/groups/input-operation/gestures/change-focus-with-pointer-device.md delete mode 100644 guidelines/groups/input-operation/gestures/complex-pointer-inputs.md delete mode 100644 guidelines/groups/input-operation/gestures/pointer-agnostic.md delete mode 100644 guidelines/groups/input-operation/gestures/specific-pressure.md delete mode 100644 guidelines/groups/input-operation/gestures/speed-insensitive.md diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index 5cf3defd..9ee8c38d 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -7,7 +7,6 @@ "speech-and-voice-input", "target-size", "keyboard-operation", - "gestures", "motion-input" ], "title": "Input / operation" diff --git a/guidelines/groups/input-operation/gestures.md b/guidelines/groups/input-operation/gestures.md deleted file mode 100644 index 7df4a28c..00000000 --- a/guidelines/groups/input-operation/gestures.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -children: - - change-focus-with-pointer-device - - complex-pointer-inputs - - pointer-agnostic - - specific-pressure - - speed-insensitive ---- - -Users are not required to use gestures or dragging to view or operate :term[content]. diff --git a/guidelines/groups/input-operation/gestures/change-focus-with-pointer-device.md b/guidelines/groups/input-operation/gestures/change-focus-with-pointer-device.md deleted file mode 100644 index 337f2e45..00000000 --- a/guidelines/groups/input-operation/gestures/change-focus-with-pointer-device.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Selecting an :term[interactive component] with a :term[pointer] sets the focus to that :term[element]. diff --git a/guidelines/groups/input-operation/gestures/complex-pointer-inputs.md b/guidelines/groups/input-operation/gestures/complex-pointer-inputs.md deleted file mode 100644 index f70f4f4c..00000000 --- a/guidelines/groups/input-operation/gestures/complex-pointer-inputs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Every function that can be operated by a pointer, can be operated by a :term[single pointer input] or a sequence of single pointer inputs without requiring certain timing. diff --git a/guidelines/groups/input-operation/gestures/pointer-agnostic.md b/guidelines/groups/input-operation/gestures/pointer-agnostic.md deleted file mode 100644 index 1b7682b1..00000000 --- a/guidelines/groups/input-operation/gestures/pointer-agnostic.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -title: Pointer-agnostic ---- - -Functionality which supports pointers is available to any pointer device supported by the platform. diff --git a/guidelines/groups/input-operation/gestures/specific-pressure.md b/guidelines/groups/input-operation/gestures/specific-pressure.md deleted file mode 100644 index 773e1d92..00000000 --- a/guidelines/groups/input-operation/gestures/specific-pressure.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -needsAdditionalResearch: true -status: exploratory ---- - -Where specific pressures are used, they can be adjusted and/or disabled without loss of function. diff --git a/guidelines/groups/input-operation/gestures/speed-insensitive.md b/guidelines/groups/input-operation/gestures/speed-insensitive.md deleted file mode 100644 index 57fba011..00000000 --- a/guidelines/groups/input-operation/gestures/speed-insensitive.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -needsAdditionalResearch: true -status: exploratory ---- - -Where specific speeds are used, they can be adjusted and/or disabled without loss of function. From ffdf7c2924850d1b24770a2523ad8937869c1b1f Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 6 Jun 2025 13:22:02 -0700 Subject: [PATCH 38/68] add keyboard focus --- guidelines/terms/keyboard-focus.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 guidelines/terms/keyboard-focus.md diff --git a/guidelines/terms/keyboard-focus.md b/guidelines/terms/keyboard-focus.md new file mode 100644 index 00000000..772269c4 --- /dev/null +++ b/guidelines/terms/keyboard-focus.md @@ -0,0 +1,7 @@ +--- +status: developing +--- + +:::ednote +To be defined. +::: \ No newline at end of file From 39e139dcd64ee8cb11cfbd35199b08379f0c1b9c Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Fri, 6 Jun 2025 13:29:46 -0700 Subject: [PATCH 39/68] updates to multiple requirements --- guidelines/groups/input-operation/input-operation.md | 2 +- .../change-keyboard-focus-with-pointer-device.md | 4 ++++ .../input-method-flexibility-no-exception.md | 2 +- .../input-operation/input-method-flexibility.md | 4 ++-- .../input-operation/use-without-body-movement.md | 4 ++++ .../all-elements-keyboard-actionable.md | 6 +++++- .../keyboard-operation/bidirectional-navigation.md | 4 ++++ .../keyboard-navigable-if-responsive.md | 4 ++++ .../preserve-keyboard-focus.md | 10 +++++++++- 9 files changed, 34 insertions(+), 6 deletions(-) diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 06a62f96..f3cb6ffd 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -11,4 +11,4 @@ children: - input-method-flexibility-no-exception --- -Users can use different input techniques and combinations and switch between them. +Users have the option to use different input techniques and combinations and switch between them. diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index 67c223eb..59701900 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -4,3 +4,7 @@ type: foundational --- If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. + +:::note +An example of this is: a user scrolls a document down six screens, then clicks on a paragraph with their :term[pointer]. The user then presses the tab key, which moves the focus to the first interactive component after the position on the screen that was clicked, rather than from the previous position, six screens up the document. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md index 25906ab6..5493e2ab 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md @@ -4,7 +4,7 @@ title: Input method flexibility (no exception) type: supplemental --- -Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time. +Where functionality, including input or navigation, are achievable using different input methods, users are allowed to switch between the input methods at any time. :::note This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md index e308281d..0c1f9b2a 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -3,8 +3,8 @@ status: exploratory type: foundational --- -Where functionality, including input or navigation, can be achieved using different input methods, users are allowed to switch between the input methods at any time, except where a particular input method is :term[essential] to the functionality. +Where functionality, including input or navigation, are achievable using different input methods, users have the option to switch between the input methods at any time, except where a particular input method is :term[essential] to the functionality. :::note -This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. +This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere in the content except where a particular input method is essential to the functionality. ::: diff --git a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md index bc75b9a8..1f56fd11 100644 --- a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md +++ b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md @@ -4,3 +4,7 @@ type: foundational --- Full or gross body movement is not the only way of achieving any functionality, except where full or gross body movement is essential to the functionality. + +:::note +This includes both detection of body movement and actions to the device (e.g., shaking) that require body movement. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md index 80bb4c96..fd7845a4 100644 --- a/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md +++ b/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md @@ -3,4 +3,8 @@ status: exploratory type: foundational --- -All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the keyboard interface. \ No newline at end of file +All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the keyboard interface. + +:::note +Here, and throughout this section, "camera input" refers to user control via a camera, for example "in the air" gestures. It does not include, for example, a static QR code image on a web page. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md index fecde2c6..172e0993 100644 --- a/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md +++ b/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md @@ -4,3 +4,7 @@ type: foundational --- It is always possible to move forward and backward at each point using keyboard navigation. + +:::ednote +We are considering making this require that the navigation be symmetrical (i.e., if you navigate forward and then backward you always end up back in the same place) but are interested in comment on this. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md index b155f028..5106fc81 100644 --- a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md +++ b/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md @@ -4,3 +4,7 @@ type: foundational --- If the :term[view] uses responsive design, the :term[view] remains fully keyboard navigable. + +:::ednote +This requirement may be removed as redundant or be covered by other provisions. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index d7f29e9b..f9f3ec88 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,4 +3,12 @@ status: exploratory type: foundational --- -When keyboard focus moves from a :term[view], whether automatically or by user request, the keyboard focus is preserved so that, when the user goes back to the previous :term[view], the keyboard focus is restored to its previous location. \ No newline at end of file +Within a page, when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. + +:::note +An example of this would be when a modal dialog or other pop up opens. +::: + +:::note +This is also quite useful when moving between pages but this would usually have to be done by the browser unless the user is in some process where that information is stored in a cookie or on the server between pages in the process. +::: From 3e9926f938596ef74b26a397c90a004ff618e9fd Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 12 Jun 2025 08:32:41 -0700 Subject: [PATCH 40/68] remove unique-visible-identifier --- guidelines/groups/input-operation/speech-and-voice-input.md | 1 - .../speech-and-voice-input/unique-visible-identifier.md | 6 ------ 2 files changed, 7 deletions(-) delete mode 100644 guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md diff --git a/guidelines/groups/input-operation/speech-and-voice-input.md b/guidelines/groups/input-operation/speech-and-voice-input.md index 33950f6a..e8579103 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input.md +++ b/guidelines/groups/input-operation/speech-and-voice-input.md @@ -5,7 +5,6 @@ children: - speech-alternative - real-time-bidirectional-voice-communication - voice-identification - - unique-visible-identifier - unique-visible-label --- diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md deleted file mode 100644 index f88494b0..00000000 --- a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-identifier.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Each active element has a unique visible text identifier (e.g., Name, Label). \ No newline at end of file From 9d3721b1dec78d44acefb27d707a8d5faa8b59a3 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 17 Jun 2025 10:59:24 -0700 Subject: [PATCH 41/68] add keyboard focus --- guidelines/terms/keyboard-focus.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/guidelines/terms/keyboard-focus.md b/guidelines/terms/keyboard-focus.md index 772269c4..fc6d19a1 100644 --- a/guidelines/terms/keyboard-focus.md +++ b/guidelines/terms/keyboard-focus.md @@ -2,6 +2,10 @@ status: developing --- -:::ednote -To be defined. -::: \ No newline at end of file +The point in the content where any keyboard actions would take effect. + +:::note +Examples are: +1. the keyboard focus on a control where an activate action like a spacebar would take effect, or +2. the place in an input field where a typed character would be inserted +::: From 780286277e037205ab65d243c6ada873085b0455 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 17 Jun 2025 12:26:31 -0700 Subject: [PATCH 42/68] further edits --- guidelines/groups/input-operation.json | 2 +- ...-operation.md => keyboard-interface-input.md} | 2 +- .../all-content-keyboard-accessible.md | 0 .../all-elements-keyboard-actionable.md | 0 .../bidirectional-navigation.md | 0 .../comparable-keyboard-effort-best-practice.md | 15 +++++++++++++++ .../conflicting-keyboard-commands.md | 0 .../consistent-keyboard-interaction.md | 0 .../keyboard-mode.md | 0 .../keyboard-navigable-if-responsive.md | 0 .../keyboard-only.md | 0 .../no-keyboard-trap.md | 0 .../non-standard-commands.md | 0 .../relevant-keyboard-focus.md | 14 ++++++++++++++ .../user-control-of-keyboard-focus.md | 16 ++++++++++++++++ .../comparable-keyboard-effort.md | 7 ------- .../relevant-keyboard-focus.md | 10 ---------- .../user-control-of-keyboard-focus.md | 16 ---------------- ...al-or-cognitive-effort-when-using-keyboard.md | 1 + .../preserve-keyboard-focus.md | 2 +- .../repetitive-links.md | 4 ++++ ...or-described-navigation-keys-best-practice.md | 9 +++++++++ .../standard-or-described-navigation-keys.md | 2 +- .../groups/input-operation/pointer-input.md | 1 + ...nter-cancellation-entire-conformance-claim.md | 6 ++++++ .../voice-identification.md | 6 +++++- 26 files changed, 75 insertions(+), 38 deletions(-) rename guidelines/groups/input-operation/{keyboard-operation.md => keyboard-interface-input.md} (90%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/all-content-keyboard-accessible.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/all-elements-keyboard-actionable.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/bidirectional-navigation.md (100%) create mode 100644 guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/conflicting-keyboard-commands.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/consistent-keyboard-interaction.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/keyboard-mode.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/keyboard-navigable-if-responsive.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/keyboard-only.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/no-keyboard-trap.md (100%) rename guidelines/groups/input-operation/{keyboard-operation => keyboard-interface-input}/non-standard-commands.md (100%) create mode 100644 guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md create mode 100644 guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md delete mode 100644 guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md delete mode 100644 guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md delete mode 100644 guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md create mode 100644 guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index 9ee8c38d..d9df1ea7 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -2,11 +2,11 @@ "children": [ "input-operation", "content-changes", + "keyboard-interface-input", "physical-or-cognitive-effort-when-using-keyboard", "pointer-input", "speech-and-voice-input", "target-size", - "keyboard-operation", "motion-input" ], "title": "Input / operation" diff --git a/guidelines/groups/input-operation/keyboard-operation.md b/guidelines/groups/input-operation/keyboard-interface-input.md similarity index 90% rename from guidelines/groups/input-operation/keyboard-operation.md rename to guidelines/groups/input-operation/keyboard-interface-input.md index aae28f2e..8e1ff9ad 100644 --- a/guidelines/groups/input-operation/keyboard-operation.md +++ b/guidelines/groups/input-operation/keyboard-interface-input.md @@ -3,7 +3,7 @@ children: - all-elements-keyboard-actionable - all-content-keyboard-accessible - bidirectional-navigation - - comparable-keyboard-effort + - comparable-keyboard-effort-best-practice - conflicting-keyboard-commands - consistent-keyboard-interaction - keyboard-mode diff --git a/guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/all-content-keyboard-accessible.md rename to guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md diff --git a/guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/all-elements-keyboard-actionable.md rename to guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md diff --git a/guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/bidirectional-navigation.md rename to guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md diff --git a/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md b/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md new file mode 100644 index 00000000..23d60c02 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md @@ -0,0 +1,15 @@ +--- +needsAdditionalResearch: true +status: exploratory +type: foundational +--- + +The number of input commands required for a :term[process] using the keyboard is similar to the number of input commands when using other input modalities. + +:::note +Other input modalities include pointer and voice. +::: + +:::ednote +The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md b/guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/conflicting-keyboard-commands.md rename to guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md diff --git a/guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md b/guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/consistent-keyboard-interaction.md rename to guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/keyboard-mode.md rename to guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/keyboard-navigable-if-responsive.md rename to guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md diff --git a/guidelines/groups/input-operation/keyboard-operation/keyboard-only.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/keyboard-only.md rename to guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md diff --git a/guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/no-keyboard-trap.md rename to guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md diff --git a/guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md b/guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md similarity index 100% rename from guidelines/groups/input-operation/keyboard-operation/non-standard-commands.md rename to guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md diff --git a/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md new file mode 100644 index 00000000..5513d028 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md @@ -0,0 +1,14 @@ +--- +status: exploratory +type: foundational +--- + +Except for skip links and other visually hidden elements specifically added to aid keyboard navigation, the keyboard focus order does not include non-interactive elements nor interactive elements in content that is currently visually hidden. + +:::note +Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. According to the requirement, expandable content would not expand unless the user makes explicit selection to do so. +::: + +:::note +For example, tabbing to something that, if it were expanded, would contain other active elements, should not cause that expansion to occur with the focus jumping to the first actionable item in that expansion. The expansion should only occur if the user asks it to be expanded. Otherwise the user cannot navigate past that element without first navigating through every active element in the expansion. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md new file mode 100644 index 00000000..fb6ecbb7 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md @@ -0,0 +1,16 @@ +--- +status: exploratory +type: foundational +--- + +When the keyboard focus is moved, one of the following is true: +- The focus was moved under direct user control; +- A new :term[view] such as a dialog is introduced and focus is moved to it; +- The user is informed of the potential move and given the chance to avoid the move; +- The keyboard focus moves to the next item in keyboard navigation order. + +:::note +Examples of where it may be useful to ask the user if they want to move the keyboard focus somewhere (but the user should have the option to say no) would be: +- a form message that says "If you answer no, you can skip questions 8 through 15, would you like to skip to question 16"; and +- when a form error is detected on submit and a message says "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md b/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md deleted file mode 100644 index 380392c3..00000000 --- a/guidelines/groups/input-operation/keyboard-operation/comparable-keyboard-effort.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -needsAdditionalResearch: true -status: exploratory -type: foundational ---- - -The number of input commands required to complete a task using the keyboard is similar to the number of input commands when using other input modalities. diff --git a/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md deleted file mode 100644 index 01a36fa9..00000000 --- a/guidelines/groups/input-operation/keyboard-operation/relevant-keyboard-focus.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Except for skip links and other visually hidden elements specifically added to aid keyboard navigation, the keyboard focus order does not include non-interactive elements nor interactive elements in content that is currently visually hidden. - -:::note -Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. Expandable content must not expand unless the user makes explicit selection to do so. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md deleted file mode 100644 index 8c8b68bc..00000000 --- a/guidelines/groups/input-operation/keyboard-operation/user-control-of-keyboard-focus.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -When the keyboard focus is moved, one of the following is true: -- The focus was moved under direct user control; -- A new :term[view] such as a dialog is introduced and focus is moved to it; -- The user is informed of the potential move and given the chance to avoid the move. - -:::example -It may be useful to ask the user if they want to jump somewhere and give them the option to say no when: - -- Forms say "If you answer no, you can skip questions 8 through 15", and -- An error is detected on submit: "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md index 6dd148de..6490536d 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -2,6 +2,7 @@ children: - logical-keyboard-focus-order - standard-or-described-navigation-keys + - standard-or-described-navigation-keys-best-practice - preserve-keyboard-focus - repetitive-links --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index f9f3ec88..6b2928b2 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -Within a page, when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. +Within a :term[view], when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. :::note An example of this would be when a modal dialog or other pop up opens. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md index 062dc0f4..98fd6d33 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/repetitive-links.md @@ -5,6 +5,10 @@ type: supplemental Repetitive adjacent links that have the same destination are avoided. +:::ednote +Supplemental if applicable to all content, else best practice. +::: + :::note A common pattern is having a component that contains a linked image and some linked text, where both links go to the same content. Someone using screen reading software can be disoriented from the unnecessary chatter, and a keyboard user has to navigate through more tab stops than should be necessary. Combining adjacent links that go to the same content improves the user experience. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md new file mode 100644 index 00000000..3c4dbaaa --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md @@ -0,0 +1,9 @@ +--- +status: exploratory +--- + +- Avoid non-standard keys where the standard keys would be just as effective. +- If you do use non-standard keys for efficiency - also support navigation with standard keys. +- Allow user to change any non-standard keyboard commands. +- Have a description of any non-standard techniques available on every :term[view] they are needed so no memory is required. +- Most preferable is that any non-standard are described or reminded wherever they are needed. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md index 3eda65d5..93503309 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -6,7 +6,7 @@ type: foundational If any keyboard action needed to navigate, perceive, and operate the full content of the :term[view] is not a common keyboard navigation technique, then it is described on the :term[view] where it is required or on a :term[view] earlier in the :term[process] where it is used. :::note -Any platform related functions are not the responsibility of the author as long as they are not defeated by the content. Examples: +Any platform related functions are not the responsibility of the author as long as they are not overridden by the content. Examples: - Tab and Shift + Tab to move through elements - Sticky Keys functionality that allows single key activation of multi-key commands diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index f914fd92..504aca1f 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,5 +1,6 @@ --- children: + - consistent-pointer-cancellation-entire-conformance-claim - consistent-pointer-cancellation-set-of-pages-views - pointer-cancellation - pointer-pressure-alternative diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md new file mode 100644 index 00000000..28e95501 --- /dev/null +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md @@ -0,0 +1,6 @@ +--- +status: exploratory +type: supplemental +--- + +The method of pointer cancellation is consistent within the product/entire scope of a conformance claim. \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md b/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md index 67c6cd7b..ba074c5a 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md +++ b/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md @@ -3,4 +3,8 @@ status: exploratory type: foundational --- -Voice is not the only way to identify or authenticate. \ No newline at end of file +Voice is not the only way to identify or authenticate. + +:::ednote +This might be removed from here if it is covered under authentication. +::: \ No newline at end of file From ea0264b8d45c55bbae0021c76e9f5e579b2454c7 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 24 Jun 2025 15:01:07 -0700 Subject: [PATCH 43/68] reorder guidelines --- guidelines/groups/input-operation.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index d9df1ea7..f11d1220 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -1,13 +1,11 @@ { "children": [ - "input-operation", - "content-changes", "keyboard-interface-input", "physical-or-cognitive-effort-when-using-keyboard", "pointer-input", "speech-and-voice-input", - "target-size", - "motion-input" + "input-operation", + "content-changes" ], "title": "Input / operation" } From 2905c2de5401ad09b7907ddddc40232406c12907 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Tue, 24 Jun 2025 15:01:38 -0700 Subject: [PATCH 44/68] update guidelines --- .../comparable-keyboard-effort-best-practice.md | 2 +- .../keyboard-interface-input/no-keyboard-trap.md | 2 +- .../motion-input/use-without-body-movement.md | 5 ----- .../motion-input/use-without-device-movement.md | 5 ----- .../input-operation/pointer-input/simple-pointer-input.md | 4 ++++ .../speech-and-voice-input/unique-visible-label.md | 2 +- .../input-operation/target-size/target-size-minimum.md | 5 ----- .../input-operation/target-size/target-size-optimum.md | 5 ----- 8 files changed, 7 insertions(+), 23 deletions(-) delete mode 100644 guidelines/groups/input-operation/motion-input/use-without-body-movement.md delete mode 100644 guidelines/groups/input-operation/motion-input/use-without-device-movement.md delete mode 100644 guidelines/groups/input-operation/target-size/target-size-minimum.md delete mode 100644 guidelines/groups/input-operation/target-size/target-size-optimum.md diff --git a/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md b/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md index 23d60c02..36041bde 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md @@ -11,5 +11,5 @@ Other input modalities include pointer and voice. ::: :::ednote -The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. +The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md index 0a4cb4c2..53fcd150 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md @@ -3,4 +3,4 @@ status: exploratory type: foundational --- -It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or is described on the :term[view] where it is required or on a :term[view] earlier in the process where it is used. \ No newline at end of file +It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or a technique for exiting is described on the :term[view] or on a :term[view] earlier in the :term[process] where it is used. \ No newline at end of file diff --git a/guidelines/groups/input-operation/motion-input/use-without-body-movement.md b/guidelines/groups/input-operation/motion-input/use-without-body-movement.md deleted file mode 100644 index 4a2de475..00000000 --- a/guidelines/groups/input-operation/motion-input/use-without-body-movement.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -All functionality that requires full or gross body movement may also be accomplished with a standard input device. diff --git a/guidelines/groups/input-operation/motion-input/use-without-device-movement.md b/guidelines/groups/input-operation/motion-input/use-without-device-movement.md deleted file mode 100644 index e1cfe9c8..00000000 --- a/guidelines/groups/input-operation/motion-input/use-without-device-movement.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -All functionality can be completed without reorienting or repositioning hardware devices. diff --git a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md index aed8e21b..def42673 100644 --- a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md @@ -11,4 +11,8 @@ Examples of :term[pointer] input that are not simple pointer input are double cl :::note :term[Complex pointer inputs] are not banned, they just can't be the only way to accomplish an action. +::: + +:::note +:term[Simple pointer input] is different than :term[single pointer input] and is more restrictive than simply using a single pointer. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md index b3e2f90f..0ad390ee 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md +++ b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md @@ -6,5 +6,5 @@ type: supplemental Each :term[interactive element] has unique label associated with it to allow unambiguous voice control :::note -"Associated with it" does not mean that each element has its own label. Instead, it means that it can be unambiguously specified using the visual labels on the :term[view]. +This is helpful so that elements can be referred to in a voice command without having to invoke "show numbers" or "show a unique name" feature that is in all voice control software. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/target-size/target-size-minimum.md b/guidelines/groups/input-operation/target-size/target-size-minimum.md deleted file mode 100644 index 71e47ffa..00000000 --- a/guidelines/groups/input-operation/target-size/target-size-minimum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -The combined target size and spacing to adjacent targets is at least 24x24 pixels. diff --git a/guidelines/groups/input-operation/target-size/target-size-optimum.md b/guidelines/groups/input-operation/target-size/target-size-optimum.md deleted file mode 100644 index c9b3ed18..00000000 --- a/guidelines/groups/input-operation/target-size/target-size-optimum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -The combined target size and spacing to adjacent targets is at least 48x48 pixels. From 9b516a6e586388f97d6ee47b06d8ac8e410e56f6 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 26 Jun 2025 14:12:39 -0700 Subject: [PATCH 45/68] initial commit of keyboard interface glossary term --- guidelines/terms/keyboard-interface.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 guidelines/terms/keyboard-interface.md diff --git a/guidelines/terms/keyboard-interface.md b/guidelines/terms/keyboard-interface.md new file mode 100644 index 00000000..17bbca2e --- /dev/null +++ b/guidelines/terms/keyboard-interface.md @@ -0,0 +1,8 @@ +--- +status: developing +--- + +An API (Application Programming Interface) where software gets "keystrokes" from. + +:::note +"Keystrokes" that are passed to the software from the "keyboard interface" may come from a wide variety of sources including but not limited to a scanning program (e.g., Stephen Hawking's),sip-and-puff morse code software, speech recognition software, AI of all sorts, as well as other keyboard substitutes or special keyboards. From 2d6c42ba6d985577f263c6251d6a1b71f432ebc5 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 26 Jun 2025 14:16:01 -0700 Subject: [PATCH 46/68] update pointer term --- guidelines/terms/pointer.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guidelines/terms/pointer.md b/guidelines/terms/pointer.md index e69de29b..9dcb9e0e 100644 --- a/guidelines/terms/pointer.md +++ b/guidelines/terms/pointer.md @@ -0,0 +1,5 @@ +--- +synonyms: + - pointing device + - pointing devices +--- \ No newline at end of file From 768431849f214340b043f7f9ffd3b65809450958 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 26 Jun 2025 14:37:22 -0700 Subject: [PATCH 47/68] input subgroup updates --- .../input-operation/keyboard-interface-input.md | 5 ----- .../all-content-keyboard-accessible.md | 6 +++--- .../all-elements-keyboard-actionable.md | 4 ++-- .../bidirectional-navigation.md | 8 ++------ .../comparable-keyboard-effort-best-practice.md | 15 --------------- .../conflicting-keyboard-commands.md | 4 ++-- .../consistent-keyboard-interaction.md | 6 ------ .../keyboard-interface-input/keyboard-mode.md | 6 ------ .../keyboard-navigable-if-responsive.md | 8 ++------ .../keyboard-interface-input/keyboard-only.md | 6 ------ .../keyboard-interface-input/no-keyboard-trap.md | 2 +- .../non-standard-commands.md | 7 ------- .../relevant-keyboard-focus.md | 8 ++------ .../user-control-of-keyboard-focus.md | 2 +- .../comparable-keyboard-effort.md | 9 +++++++-- .../preserve-keyboard-focus.md | 2 +- .../standard-or-described-navigation-keys.md | 2 +- .../pointer-input/pointer-cancellation.md | 6 +++--- .../terms/standard-platform-keyboard-commands.md | 2 +- 19 files changed, 28 insertions(+), 80 deletions(-) delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md diff --git a/guidelines/groups/input-operation/keyboard-interface-input.md b/guidelines/groups/input-operation/keyboard-interface-input.md index 8e1ff9ad..c9e43ee3 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input.md +++ b/guidelines/groups/input-operation/keyboard-interface-input.md @@ -3,14 +3,9 @@ children: - all-elements-keyboard-actionable - all-content-keyboard-accessible - bidirectional-navigation - - comparable-keyboard-effort-best-practice - conflicting-keyboard-commands - - consistent-keyboard-interaction - - keyboard-mode - keyboard-navigable-if-responsive - - keyboard-only - no-keyboard-trap - - non-standard-commands - user-control-of-keyboard-focus - relevant-keyboard-focus --- diff --git a/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md index 1bdd99eb..4616433b 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md @@ -1,16 +1,16 @@ --- -status: exploratory +status: developing type: foundational --- -All :term[content] that can be accessed by other input modalities can be accessed using keyboard interface only. +All :term[content] that can be accessed by other input modalities can be accessed using :term[keyboard interface] only. :::note All content includes content made available via hovers, right clicks, etc. ::: :::note -Other input modalities include pointing devices, voice and speech recognition, :term[gesture], camera input, and any other other means of input or control. +Other input modalities include :term[pointing devices], voice and speech recognition, :term[gesture], camera input, and any other other means of input or control. ::: :::note diff --git a/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md index fd7845a4..0a9be25c 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md @@ -1,9 +1,9 @@ --- -status: exploratory +status: developing type: foundational --- -All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the keyboard interface. +All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the :term[keyboard interface]. :::note Here, and throughout this section, "camera input" refers to user control via a camera, for example "in the air" gestures. It does not include, for example, a static QR code image on a web page. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md index 172e0993..01d2b019 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md @@ -1,10 +1,6 @@ --- -status: exploratory +status: developing type: foundational --- -It is always possible to move forward and backward at each point using keyboard navigation. - -:::ednote -We are considering making this require that the navigation be symmetrical (i.e., if you navigate forward and then backward you always end up back in the same place) but are interested in comment on this. -::: \ No newline at end of file +It is always possible to move forward and backward at each point using keyboard navigation. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md b/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md deleted file mode 100644 index 36041bde..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/comparable-keyboard-effort-best-practice.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -needsAdditionalResearch: true -status: exploratory -type: foundational ---- - -The number of input commands required for a :term[process] using the keyboard is similar to the number of input commands when using other input modalities. - -:::note -Other input modalities include pointer and voice. -::: - -:::ednote -The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md b/guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md index bf032dec..f9386635 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/conflicting-keyboard-commands.md @@ -1,6 +1,6 @@ --- -status: exploratory +status: developing type: foundational --- -Authored keyboard commands do not conflict with platform commands or they can be remapped. +Author generated keyboard commands do not conflict with :term[standard platform keyboard commands] or they can be remapped. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md b/guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md deleted file mode 100644 index 1915efbf..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/consistent-keyboard-interaction.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Keyboard interface interactions are consistent. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md deleted file mode 100644 index 030ec504..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-mode.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -If the keyboard is non-hardware (such as a virtual keyboard), the keyboard input mode is indicated. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md index 5106fc81..5555c589 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md @@ -1,10 +1,6 @@ --- -status: exploratory +status: developing type: foundational --- -If the :term[view] uses responsive design, the :term[view] remains fully keyboard navigable. - -:::ednote -This requirement may be removed as redundant or be covered by other provisions. -::: \ No newline at end of file +If the :term[view] uses responsive design, the :term[view] remains fully keyboard navigable. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md deleted file mode 100644 index 5998a859..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-only.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -All functionality must be accessible through the keyboard, except when a task requires input based on the user's specific input action. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md index 53fcd150..1701c741 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md b/guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md deleted file mode 100644 index 57fddc8a..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/non-standard-commands.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -status: exploratory -title: Non-standard commands -type: foundational ---- - -The user is informed of non-standard authored keyboard commands. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md index 5513d028..7da0861b 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md @@ -1,14 +1,10 @@ --- -status: exploratory +status: developing type: foundational --- Except for skip links and other visually hidden elements specifically added to aid keyboard navigation, the keyboard focus order does not include non-interactive elements nor interactive elements in content that is currently visually hidden. :::note -Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. According to the requirement, expandable content would not expand unless the user makes explicit selection to do so. +Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. Expandable content would not expand unless the user makes explicit selection to do so. ::: - -:::note -For example, tabbing to something that, if it were expanded, would contain other active elements, should not cause that expansion to occur with the focus jumping to the first actionable item in that expansion. The expansion should only occur if the user asks it to be expanded. Otherwise the user cannot navigate past that element without first navigating through every active element in the expansion. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md index fb6ecbb7..921194ed 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md index a08ab0c1..36041bde 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md @@ -1,10 +1,15 @@ --- +needsAdditionalResearch: true status: exploratory -type: supplemental +type: foundational --- -The number of input commands required for a :term[process] using the keyboard is similar to the number of commands when using other input modalities. +The number of input commands required for a :term[process] using the keyboard is similar to the number of input commands when using other input modalities. :::note Other input modalities include pointer and voice. +::: + +:::ednote +The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index 6b2928b2..0cd22022 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md index 93503309..07d4157c 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If any keyboard action needed to navigate, perceive, and operate the full content of the :term[view] is not a common keyboard navigation technique, then it is described on the :term[view] where it is required or on a :term[view] earlier in the :term[process] where it is used. +If any keyboard action needed to navigate, perceive, and operate the full content of the :term[view] is not a :term[common keyboard navigation technique], then it is described on the :term[view] where it is required or on a :term[view] earlier in the :term[process] where it is used. :::note Any platform related functions are not the responsibility of the author as long as they are not overridden by the content. Examples: diff --git a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md index 043125ec..6bd13513 100644 --- a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md +++ b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md @@ -9,10 +9,10 @@ No Down-Event : The :term[down event] of the pointer is not used to execute any part of the function; Abort or Undo -: Completion of the function is on the :term[up event], and a mechanism is available to abort the function before completion or to undo the function after completion; +: Completion of the function is on the :term[up event], and a :term[mechanism] is available to abort the function before completion or to undo the function after completion; Up Reversal -: The :term[up event] reverses any outcome of the preceding down-event; +: The :term[up event] reverses any outcome of the preceding down event; Essential -: Completing the function on the down-event is essential. \ No newline at end of file +: Completing the function on the down-event is :term[essential]. \ No newline at end of file diff --git a/guidelines/terms/standard-platform-keyboard-commands.md b/guidelines/terms/standard-platform-keyboard-commands.md index 1fa0c94a..31ca5853 100644 --- a/guidelines/terms/standard-platform-keyboard-commands.md +++ b/guidelines/terms/standard-platform-keyboard-commands.md @@ -2,7 +2,7 @@ status: developing --- -Keyboard commands that are the same across most or platforms and are relied upon by users who need to navigate by keyboard alone +Keyboard commands that are the same across most or platforms and are relied upon by users who need to navigate by keyboard alone. :::note A sufficient listing of common keyboard navigation techniques for use by authors can be found in the [WCAG standard keyboard navigation techniques list](#) From bb1ad54647b05e9278c5e654fade777b9d264785 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 2 Jul 2025 07:41:37 -0700 Subject: [PATCH 48/68] add back in glossary term to page --- .../change-keyboard-focus-with-pointer-device.md | 2 +- .../input-operation/content-on-hover-or-keyboard-focus.md | 2 +- .../keyboard-navigable-if-responsive.md | 2 +- .../keyboard-interface-input/no-keyboard-trap.md | 2 +- .../keyboard-interface-input/user-control-of-keyboard-focus.md | 2 +- .../preserve-keyboard-focus.md | 2 +- .../standard-or-described-navigation-keys-best-practice.md | 2 +- .../standard-or-described-navigation-keys.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index 59701900..17c17e9c 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. +If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[page] / :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. :::note An example of this is: a user scrolls a document down six screens, then clicks on a paragraph with their :term[pointer]. The user then presses the tab key, which moves the focus to the first interactive component after the position on the screen that was clicked, rather than from the previous position, six screens up the document. diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md index 20dec4cc..86bb259b 100644 --- a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -23,5 +23,5 @@ Custom tooltips, sub-menus, and other non-modal popups that display on hover and ::: :::note -This criterion applies to content that appears in addition to the triggering component itself. Since hidden components that are made visible on keyboard focus (such as links used to skip to another part of a :term[view]) do not present additional content they are not covered by this criterion. +This criterion applies to content that appears in addition to the triggering component itself. Since hidden components that are made visible on keyboard focus (such as links used to skip to another part of a :term[page] / :term[view]) do not present additional content they are not covered by this criterion. ::: diff --git a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md index 5555c589..65a228ce 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/keyboard-navigable-if-responsive.md @@ -3,4 +3,4 @@ status: developing type: foundational --- -If the :term[view] uses responsive design, the :term[view] remains fully keyboard navigable. \ No newline at end of file +If the :term[page] / :term[view] uses responsive design, the :term[page] / :term[view] remains fully keyboard navigable. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md index 1701c741..d717fc08 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md @@ -3,4 +3,4 @@ status: developing type: foundational --- -It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or a technique for exiting is described on the :term[view] or on a :term[view] earlier in the :term[process] where it is used. \ No newline at end of file +It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or a technique for exiting is described on the :term[page] / :term[view] or on a :term[page] / :term[view] earlier in the :term[process] where it is used. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md index 921194ed..e6f23863 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md @@ -5,7 +5,7 @@ type: foundational When the keyboard focus is moved, one of the following is true: - The focus was moved under direct user control; -- A new :term[view] such as a dialog is introduced and focus is moved to it; +- A new :term[page] / :term[view] such as a dialog is introduced and focus is moved to it; - The user is informed of the potential move and given the chance to avoid the move; - The keyboard focus moves to the next item in keyboard navigation order. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index 0cd22022..ee013e11 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,7 +3,7 @@ status: developing type: foundational --- -Within a :term[view], when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. +Within a :term[page] / :term[view], when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. :::note An example of this would be when a modal dialog or other pop up opens. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md index 3c4dbaaa..238b88e2 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md @@ -5,5 +5,5 @@ status: exploratory - Avoid non-standard keys where the standard keys would be just as effective. - If you do use non-standard keys for efficiency - also support navigation with standard keys. - Allow user to change any non-standard keyboard commands. -- Have a description of any non-standard techniques available on every :term[view] they are needed so no memory is required. +- Have a description of any non-standard techniques available on every :term[page] / :term[view] they are needed so no memory is required. - Most preferable is that any non-standard are described or reminded wherever they are needed. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md index 07d4157c..73c0df76 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If any keyboard action needed to navigate, perceive, and operate the full content of the :term[view] is not a :term[common keyboard navigation technique], then it is described on the :term[view] where it is required or on a :term[view] earlier in the :term[process] where it is used. +If any keyboard action needed to navigate, perceive, and operate the full content of the :term[page] / :term[view] is not a :term[common keyboard navigation technique], then it is described on the :term[page] / :term[view] where it is required or on a :term[page] / :term[view] earlier in the :term[process] where it is used. :::note Any platform related functions are not the responsibility of the author as long as they are not overridden by the content. Examples: From cf2acbd12170d00ebf2567e733b2a479b4373df2 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 11:13:44 -0700 Subject: [PATCH 49/68] update preserve keyboard focus --- .../preserve-keyboard-focus.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index ee013e11..6e92ee0a 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,12 +3,16 @@ status: developing type: foundational --- -Within a :term[page] / :term[view], when :term[keyboard focus] moves from one context to another, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location. +When :term[keyboard focus] moves from one context to another within a web page, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location except if that location no longer exists. :::note An example of this would be when a modal dialog or other pop up opens. ::: +:::note +Best practice on placing focus when the previous focus location no longer exists, is to put focus on the focusable location just before the one that was removed. An example of this would be a list of subject-matter tags in a document, with each tag having a delete button. A user clicks on the delete button in a tag in the middle of the tag list. When the tag is deleted, focus is placed onto the tag that was before the now-deleted tag. +::: + :::note This is also quite useful when moving between pages but this would usually have to be done by the browser unless the user is in some process where that information is stored in a cookie or on the server between pages in the process. ::: From 2cc4737d7873d1ef32d70d18892d7ff2492fd73e Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 11:32:15 -0700 Subject: [PATCH 50/68] add comparable keyboard effort --- .../physical-or-cognitive-effort-when-using-keyboard.md | 1 + .../comparable-keyboard-effort.md | 1 + 2 files changed, 2 insertions(+) diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md index 6490536d..df46b162 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -5,6 +5,7 @@ children: - standard-or-described-navigation-keys-best-practice - preserve-keyboard-focus - repetitive-links + - comparable-keyboard-effort --- Users can use keyboard without unnecessary physical or cognitive effort. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md index 36041bde..744f9ec3 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md @@ -1,6 +1,7 @@ --- needsAdditionalResearch: true status: exploratory +title: "Comparable keyboard effort (not all content)" type: foundational --- From 27c1365384315951520d6dbd2bd0644c6bbb547c Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 11:33:06 -0700 Subject: [PATCH 51/68] remove double click --- .../input-operation/pointer-input/simple-pointer-input.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md index def42673..f7442062 100644 --- a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md @@ -6,7 +6,7 @@ type: foundational Any functionality that uses pointer input other than :term[simple pointer input] can also be operated by a :term[simple pointer input] or a sequence of :term[simple pointer inputs] that do not require timing. :::note -Examples of :term[pointer] input that are not simple pointer input are double clicking, swipe gestures, multipoint gestures like pinching or split tap or two-finger rotor, double click, variable pressure or timing, and dragging movements. +Examples of :term[pointer] input that are not simple pointer input are double clicking, swipe gestures, multipoint gestures like pinching or split tap or two-finger rotor, variable pressure or timing, and dragging movements. ::: :::note From f317c420ab4a4226cd1ad529c19d05c42f52a53e Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 12:47:50 -0700 Subject: [PATCH 52/68] fix order of comparable keyboard effort --- .../physical-or-cognitive-effort-when-using-keyboard.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md index df46b162..a67a5340 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -1,11 +1,11 @@ --- children: + - comparable-keyboard-effort - logical-keyboard-focus-order - standard-or-described-navigation-keys - standard-or-described-navigation-keys-best-practice - preserve-keyboard-focus - repetitive-links - - comparable-keyboard-effort --- Users can use keyboard without unnecessary physical or cognitive effort. From 10cefa5c5a53eebad1d36e8bd3b8a0c030374fad Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 12:49:32 -0700 Subject: [PATCH 53/68] add notes to pointer cancellation --- .../pointer-input/pointer-cancellation.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md index 6bd13513..e7e06f7f 100644 --- a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md +++ b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md @@ -15,4 +15,12 @@ Up Reversal : The :term[up event] reverses any outcome of the preceding down event; Essential -: Completing the function on the down-event is :term[essential]. \ No newline at end of file +: Completing the function on the down-event is :term[essential]. + +:::note +An example of Abort would be dragging where there is a pickup action on button down but it can be cancelled by dropping in pickup point or anywhere other than the drop area. +::: + +:::note +Examples of places where action on down-event may be essential include Dutch auction or game trigger. +::: From f6922f1b9d28c9d1b0ce90575a3188c1cf2b375f Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 12:54:54 -0700 Subject: [PATCH 54/68] update pointer cancellations, set of pages views --- .../consistent-pointer-cancellation-set-of-pages-views.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md index 15cff990..b32ae0cb 100644 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md @@ -4,4 +4,8 @@ title: Consistent pointer cancellation - set of pages / views type: foundational --- -The method of :term[pointer] cancellation is consistent within a :term[product] or set of :term[views]. \ No newline at end of file +The method of :term[pointer] cancellation is consistent for each type of interaction within or set of :term[pages] / :term[views] except where it is essential. + +:::note +Where it is essential to be different, it can be helpful to alert the user. +::: \ No newline at end of file From 12a9815f1e9fa9fa2a09a1404977b73a8922c7ca Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 12:56:08 -0700 Subject: [PATCH 55/68] delete consistent-pointer-cancellation-entire-conformance-claim --- guidelines/groups/input-operation/pointer-input.md | 1 - ...sistent-pointer-cancellation-entire-conformance-claim.md | 6 ------ 2 files changed, 7 deletions(-) delete mode 100644 guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index 504aca1f..f914fd92 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -1,6 +1,5 @@ --- children: - - consistent-pointer-cancellation-entire-conformance-claim - consistent-pointer-cancellation-set-of-pages-views - pointer-cancellation - pointer-pressure-alternative diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md deleted file mode 100644 index 28e95501..00000000 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-entire-conformance-claim.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -The method of pointer cancellation is consistent within the product/entire scope of a conformance claim. \ No newline at end of file From f376b113448fc5a9c1d28ab6bfdd24389d3e5ecf Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 13:00:20 -0700 Subject: [PATCH 56/68] delete voice identification --- .../groups/input-operation/speech-and-voice-input.md | 1 - .../speech-and-voice-input/voice-identification.md | 10 ---------- 2 files changed, 11 deletions(-) delete mode 100644 guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md diff --git a/guidelines/groups/input-operation/speech-and-voice-input.md b/guidelines/groups/input-operation/speech-and-voice-input.md index e8579103..5ca98a93 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input.md +++ b/guidelines/groups/input-operation/speech-and-voice-input.md @@ -4,7 +4,6 @@ children: - front-end-loading - speech-alternative - real-time-bidirectional-voice-communication - - voice-identification - unique-visible-label --- diff --git a/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md b/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md deleted file mode 100644 index ba074c5a..00000000 --- a/guidelines/groups/input-operation/speech-and-voice-input/voice-identification.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Voice is not the only way to identify or authenticate. - -:::ednote -This might be removed from here if it is covered under authentication. -::: \ No newline at end of file From f37eb5bd6ac795e4f7caa5ab9e1286cfff57238a Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 13:40:34 -0700 Subject: [PATCH 57/68] initial commit of authenication --- guidelines/groups/input-operation/authentication.md | 7 +++++++ .../authentication/biometric-identification.md | 5 +++++ .../input-operation/authentication/voice-identification.md | 5 +++++ 3 files changed, 17 insertions(+) create mode 100644 guidelines/groups/input-operation/authentication.md create mode 100644 guidelines/groups/input-operation/authentication/biometric-identification.md create mode 100644 guidelines/groups/input-operation/authentication/voice-identification.md diff --git a/guidelines/groups/input-operation/authentication.md b/guidelines/groups/input-operation/authentication.md new file mode 100644 index 00000000..f172713a --- /dev/null +++ b/guidelines/groups/input-operation/authentication.md @@ -0,0 +1,7 @@ +--- +children: + - biometric-identification + - voice-identification +--- + +Provide alternatives to authentication for those who cannot use some authentication methods usable by people without disabilities. diff --git a/guidelines/groups/input-operation/authentication/biometric-identification.md b/guidelines/groups/input-operation/authentication/biometric-identification.md new file mode 100644 index 00000000..48dffe24 --- /dev/null +++ b/guidelines/groups/input-operation/authentication/biometric-identification.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +Use of a biometric is not the only way to identify or authenticate. \ No newline at end of file diff --git a/guidelines/groups/input-operation/authentication/voice-identification.md b/guidelines/groups/input-operation/authentication/voice-identification.md new file mode 100644 index 00000000..d286f5ee --- /dev/null +++ b/guidelines/groups/input-operation/authentication/voice-identification.md @@ -0,0 +1,5 @@ +--- +status: exploratory +--- + +Voice is not the only way to identify or authenticate. \ No newline at end of file From 7d995a7d4f0bda9fa317b3d5e8a779e0d59525e0 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 9 Jul 2025 13:40:56 -0700 Subject: [PATCH 58/68] add authentication, remoce content changes --- guidelines/groups/input-operation.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation.json b/guidelines/groups/input-operation.json index f11d1220..6f40af1b 100644 --- a/guidelines/groups/input-operation.json +++ b/guidelines/groups/input-operation.json @@ -5,7 +5,7 @@ "pointer-input", "speech-and-voice-input", "input-operation", - "content-changes" + "authentication" ], "title": "Input / operation" } From 8d7442912d5a5d35d55bda8f7e095148f003db8a Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 10 Jul 2025 11:21:48 -0700 Subject: [PATCH 59/68] remove input method flexibility no exception --- guidelines/groups/input-operation/input-operation.md | 1 - .../input-method-flexibility-no-exception.md | 11 ----------- 2 files changed, 12 deletions(-) delete mode 100644 guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index f3cb6ffd..46c3327e 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -8,7 +8,6 @@ children: - input-control - input-method-flexibility - use-without-body-movement - - input-method-flexibility-no-exception --- Users have the option to use different input techniques and combinations and switch between them. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md deleted file mode 100644 index 5493e2ab..00000000 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility-no-exception.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -status: exploratory -title: Input method flexibility (no exception) -type: supplemental ---- - -Where functionality, including input or navigation, are achievable using different input methods, users are allowed to switch between the input methods at any time. - -:::note -This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere. -::: From 3aa1bb03bb46ec163f644fd4650cf60811c7241f Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 10 Jul 2025 11:28:21 -0700 Subject: [PATCH 60/68] update keyboard focus with pointer device --- .../change-keyboard-focus-with-pointer-device.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index 17c17e9c..6b726d12 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If content takes keyboard focus behavior away from the :term[user agent], then selecting anything on the :term[page] / :term[view] with a :term[pointer] sets the keyboard focus to that element even if the user drags off the element so as to not activate it. +If content interferes with pointer or keyboard focus behavior of the :term[user agent], then selecting anything on the :term[page] / :term[view] with a :term[pointer] moves the keyboard focus to that element, even if the user drags off the element (so as to not activate it). :::note An example of this is: a user scrolls a document down six screens, then clicks on a paragraph with their :term[pointer]. The user then presses the tab key, which moves the focus to the first interactive component after the position on the screen that was clicked, rather than from the previous position, six screens up the document. From 861ce66faa673e495eb11c204b80ca7680a47c73 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 16 Jul 2025 07:49:52 -0700 Subject: [PATCH 61/68] format description list --- .../content-on-hover-or-keyboard-focus.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md index 86bb259b..df2577c1 100644 --- a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -5,14 +5,17 @@ type: foundational When receiving and then removing :term[pointer] hover or keyboard focus triggers additional content to become visible and then hidden, and the visual presentation of the additional content is controlled by the author and not by the :term[user agent], all of the following are true: -
-
Dismissible:
-
A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content does not obscure or replace other content;
-
Hoverable:
-
If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing;
-
Persistent:
-
The additional content remains visible until the hover or keyboard focus trigger is removed, the user dismisses it, or its information is no longer valid.
-
+Dismissible + +: A mechanism is available to dismiss the additional content without moving pointer hover or keyboard focus, unless the additional content does not obscure or replace other content; + +Hoverable + +: If pointer hover can trigger the additional content, then the pointer can be moved over the additional content without the additional content disappearing; + +Persistent + +: The additional content remains visible until the hover or keyboard focus trigger is removed, the user dismisses it, or its information is no longer valid. :::note Examples of additional content controlled by the user agent include browser tooltips created through use of the HTML title attribute. From 16ece1ef54949822c1cbc8f07f03a0755aa84e0e Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 16 Jul 2025 10:11:56 -0700 Subject: [PATCH 62/68] Multiple Input subgroup updates 1. moved requirements from exploratory to developing 2. removed all best practice requirements 3. removed other requirements the subgroup --- .../authentication/biometric-identification.md | 3 ++- .../authentication/voice-identification.md | 3 ++- .../groups/input-operation/content-changes.md | 9 --------- .../content-changes/inform-before-activation.md | 5 ----- .../content-changes/notify-about-change.md | 5 ----- .../content-changes/notify-on-change.md | 5 ----- .../content-changes/reverse-change-of-context.md | 5 ----- .../groups/input-operation/input-operation.md | 3 --- .../change-keyboard-focus-with-pointer-device.md | 2 +- .../input-operation/concurrent-inputs.md | 6 ------ .../content-on-hover-or-keyboard-focus.md | 2 +- .../input-operation/gesture-alternative.md | 2 +- .../input-operation/hover-information.md | 6 ------ .../input-operation/input-control.md | 6 ------ .../input-operation/input-method-flexibility.md | 2 +- ...al-or-cognitive-effort-when-using-keyboard.md | 4 +--- .../comparable-keyboard-effort.md | 16 ---------------- .../logical-keyboard-focus-order.md | 2 +- ...or-described-navigation-keys-best-practice.md | 9 --------- .../groups/input-operation/pointer-input.md | 3 --- ...nt-pointer-cancellation-set-of-pages-views.md | 2 +- .../pointer-input/pointer-cancellation.md | 2 +- .../pointer-pressure-alternative-no-exception.md | 7 ------- .../pointer-pressure-alternative.md | 2 +- .../pointer-input/pointer-speed-adjustable.md | 6 ------ .../pointer-speed-alternative-no-exception.md | 7 ------- .../pointer-input/pointer-speed-alternative.md | 2 +- .../pointer-input/simple-pointer-input.md | 2 +- .../input-operation/speech-and-voice-input.md | 3 --- .../feedback-for-speech-commands.md | 10 ---------- .../speech-and-voice-input/front-end-loading.md | 10 ---------- ...eal-time-bidirectional-voice-communication.md | 2 +- .../speech-and-voice-input/speech-alternative.md | 2 +- .../unique-visible-label.md | 10 ---------- guidelines/groups/input-operation/target-size.md | 7 ------- 35 files changed, 17 insertions(+), 155 deletions(-) delete mode 100644 guidelines/groups/input-operation/content-changes.md delete mode 100644 guidelines/groups/input-operation/content-changes/inform-before-activation.md delete mode 100644 guidelines/groups/input-operation/content-changes/notify-about-change.md delete mode 100644 guidelines/groups/input-operation/content-changes/notify-on-change.md delete mode 100644 guidelines/groups/input-operation/content-changes/reverse-change-of-context.md delete mode 100644 guidelines/groups/input-operation/input-operation/concurrent-inputs.md delete mode 100644 guidelines/groups/input-operation/input-operation/hover-information.md delete mode 100644 guidelines/groups/input-operation/input-operation/input-control.md delete mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md delete mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md delete mode 100644 guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md delete mode 100644 guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md delete mode 100644 guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md delete mode 100644 guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md delete mode 100644 guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md delete mode 100644 guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md delete mode 100644 guidelines/groups/input-operation/target-size.md diff --git a/guidelines/groups/input-operation/authentication/biometric-identification.md b/guidelines/groups/input-operation/authentication/biometric-identification.md index 48dffe24..f11138c0 100644 --- a/guidelines/groups/input-operation/authentication/biometric-identification.md +++ b/guidelines/groups/input-operation/authentication/biometric-identification.md @@ -1,5 +1,6 @@ --- -status: exploratory +status: developing +type: foundational --- Use of a biometric is not the only way to identify or authenticate. \ No newline at end of file diff --git a/guidelines/groups/input-operation/authentication/voice-identification.md b/guidelines/groups/input-operation/authentication/voice-identification.md index d286f5ee..12d9a778 100644 --- a/guidelines/groups/input-operation/authentication/voice-identification.md +++ b/guidelines/groups/input-operation/authentication/voice-identification.md @@ -1,5 +1,6 @@ --- -status: exploratory +status: developing +type: foundational --- Voice is not the only way to identify or authenticate. \ No newline at end of file diff --git a/guidelines/groups/input-operation/content-changes.md b/guidelines/groups/input-operation/content-changes.md deleted file mode 100644 index 4b58b0df..00000000 --- a/guidelines/groups/input-operation/content-changes.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -children: - - notify-about-change - - notify-on-change - - inform-before-activation - - reverse-change-of-context ---- - -Users are aware of changes to :term[content] or context. diff --git a/guidelines/groups/input-operation/content-changes/inform-before-activation.md b/guidelines/groups/input-operation/content-changes/inform-before-activation.md deleted file mode 100644 index 917d8404..00000000 --- a/guidelines/groups/input-operation/content-changes/inform-before-activation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Interactive components that can alter the order of :term[content] convey their purpose prior to activation, and convey their impact on content order when activated. diff --git a/guidelines/groups/input-operation/content-changes/notify-about-change.md b/guidelines/groups/input-operation/content-changes/notify-about-change.md deleted file mode 100644 index 88055714..00000000 --- a/guidelines/groups/input-operation/content-changes/notify-about-change.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Changes in :term[content] and updates notify users, regardless of the update speed. diff --git a/guidelines/groups/input-operation/content-changes/notify-on-change.md b/guidelines/groups/input-operation/content-changes/notify-on-change.md deleted file mode 100644 index ceae05e1..00000000 --- a/guidelines/groups/input-operation/content-changes/notify-on-change.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Notification is provided when viewing :term[content] that was previously viewed is changed. diff --git a/guidelines/groups/input-operation/content-changes/reverse-change-of-context.md b/guidelines/groups/input-operation/content-changes/reverse-change-of-context.md deleted file mode 100644 index 2383ac8a..00000000 --- a/guidelines/groups/input-operation/content-changes/reverse-change-of-context.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -status: exploratory ---- - -Components that trigger a 'change of context' are indicated, or the change of context can be reversed. diff --git a/guidelines/groups/input-operation/input-operation.md b/guidelines/groups/input-operation/input-operation.md index 46c3327e..cba91a06 100644 --- a/guidelines/groups/input-operation/input-operation.md +++ b/guidelines/groups/input-operation/input-operation.md @@ -1,11 +1,8 @@ --- children: - change-keyboard-focus-with-pointer-device - - concurrent-inputs - content-on-hover-or-keyboard-focus - gesture-alternative - - hover-information - - input-control - input-method-flexibility - use-without-body-movement --- diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index 6b726d12..d837e903 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/input-operation/concurrent-inputs.md b/guidelines/groups/input-operation/input-operation/concurrent-inputs.md deleted file mode 100644 index 3a4bb722..00000000 --- a/guidelines/groups/input-operation/input-operation/concurrent-inputs.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Any input modality available on a platform can be used concurrently. diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md index df2577c1..8fe2c3a0 100644 --- a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/input-operation/gesture-alternative.md b/guidelines/groups/input-operation/input-operation/gesture-alternative.md index 07755cad..9a88bec7 100644 --- a/guidelines/groups/input-operation/input-operation/gesture-alternative.md +++ b/guidelines/groups/input-operation/input-operation/gesture-alternative.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/input-operation/hover-information.md b/guidelines/groups/input-operation/input-operation/hover-information.md deleted file mode 100644 index 4c0f9a20..00000000 --- a/guidelines/groups/input-operation/input-operation/hover-information.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Users can dismiss additional :term[content] (triggered by hover) without moving the pointer, unless the additional content communicates an input error or does not obscure or replace other content. diff --git a/guidelines/groups/input-operation/input-operation/input-control.md b/guidelines/groups/input-operation/input-operation/input-control.md deleted file mode 100644 index 8297abdb..00000000 --- a/guidelines/groups/input-operation/input-operation/input-control.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: foundational ---- - -Interactive components are available to all navigation and input methods. diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md index 0c1f9b2a..3e6b79d5 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md index a67a5340..d4b7ac5e 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -1,9 +1,7 @@ --- children: - - comparable-keyboard-effort - logical-keyboard-focus-order - - standard-or-described-navigation-keys - - standard-or-described-navigation-keys-best-practice + - standard-or-described-navigation-keys - preserve-keyboard-focus - repetitive-links --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md deleted file mode 100644 index 744f9ec3..00000000 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -needsAdditionalResearch: true -status: exploratory -title: "Comparable keyboard effort (not all content)" -type: foundational ---- - -The number of input commands required for a :term[process] using the keyboard is similar to the number of input commands when using other input modalities. - -:::note -Other input modalities include pointer and voice. -::: - -:::ednote -The working group is seeking assistance/input on this. A significant access barrier is :term[views] where keyboard navigation is many times slower than pointer navigation. Even expert keyboard navigation will usually take much more time than mouse-oriented navigation. We know they can never be equal since keyboard access requires you to go step-by-step to a location whereas with a mouse you can jump there in one click. The group would like to find something more than a "best practice statement" like "be as comparable as possible". Counting keystrokes vs clicks or time-weighted keystrokes vs clicks does not work for many reasons including the variance in time it takes different users to move a pointer or to press a key - even repeatedly. We would like this to be stronger than a "best practice" item but do not yet see how to. Is there some kind of testable provision that can be created that will make keyboard access as efficient as possible? Also any techniques or other approaches to this are appreciated. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md index f6194e9f..b547a4df 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md deleted file mode 100644 index 238b88e2..00000000 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys-best-practice.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -status: exploratory ---- - -- Avoid non-standard keys where the standard keys would be just as effective. -- If you do use non-standard keys for efficiency - also support navigation with standard keys. -- Allow user to change any non-standard keyboard commands. -- Have a description of any non-standard techniques available on every :term[page] / :term[view] they are needed so no memory is required. -- Most preferable is that any non-standard are described or reminded wherever they are needed. diff --git a/guidelines/groups/input-operation/pointer-input.md b/guidelines/groups/input-operation/pointer-input.md index f914fd92..6e154e21 100644 --- a/guidelines/groups/input-operation/pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input.md @@ -3,10 +3,7 @@ children: - consistent-pointer-cancellation-set-of-pages-views - pointer-cancellation - pointer-pressure-alternative - - pointer-pressure-alternative-no-exception - - pointer-speed-adjustable - pointer-speed-alternative - - pointer-speed-alternative-no-exception - simple-pointer-input --- diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md index b32ae0cb..e212e1d0 100644 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing title: Consistent pointer cancellation - set of pages / views type: foundational --- diff --git a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md index e7e06f7f..1eefdefb 100644 --- a/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md +++ b/guidelines/groups/input-operation/pointer-input/pointer-cancellation.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md deleted file mode 100644 index 74ea95b0..00000000 --- a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative-no-exception.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -status: exploratory -title: Pointer pressure alternative (no exception) -type: supplemental ---- - -Specific pressure is not the only way of achieving any functionality, except where specific pressure is essential to the functionality. \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md index 3b43c1d8..3a6e5d11 100644 --- a/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md +++ b/guidelines/groups/input-operation/pointer-input/pointer-pressure-alternative.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md deleted file mode 100644 index 14ee684b..00000000 --- a/guidelines/groups/input-operation/pointer-input/pointer-speed-adjustable.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -Wherever specific :term[pointer] speeds are used, the pointer speed parameters can be adjusted. diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md deleted file mode 100644 index 0b925583..00000000 --- a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative-no-exception.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -status: exploratory -title: Pointer speed alternative (no exception) -type: supplemental ---- - -Specific :term[pointer] speed is not the only way of achieving any functionality. \ No newline at end of file diff --git a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md index 6be510b0..1009327a 100644 --- a/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md +++ b/guidelines/groups/input-operation/pointer-input/pointer-speed-alternative.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md index f7442062..0545d7ea 100644 --- a/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md +++ b/guidelines/groups/input-operation/pointer-input/simple-pointer-input.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/speech-and-voice-input.md b/guidelines/groups/input-operation/speech-and-voice-input.md index 5ca98a93..2eab5a55 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input.md +++ b/guidelines/groups/input-operation/speech-and-voice-input.md @@ -1,10 +1,7 @@ --- children: - - feedback-for-speech-commands - - front-end-loading - speech-alternative - real-time-bidirectional-voice-communication - - unique-visible-label --- Provide alternatives to speech input for those who cannot speak, and facilitate speech control for those for whom it is most effective. diff --git a/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md b/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md deleted file mode 100644 index 5b2b0ccf..00000000 --- a/guidelines/groups/input-operation/speech-and-voice-input/feedback-for-speech-commands.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -Where speech control is provided by the content, feedback is presented to acknowledge receipt of voice commands and when voice commands are active or not. - -:::note -The condition above means that authors are not responsible for speech control provided by user agent or platform. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md b/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md deleted file mode 100644 index 174f7bc0..00000000 --- a/guidelines/groups/input-operation/speech-and-voice-input/front-end-loading.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -Where there is a list of many items with repeated text in the item text, the unique information is presented first for each item (front end loaded). - -:::example -For a list of departments put the name of the department first (e.g., English Department, Mathematics Department) rather than the word “department” (e.g., Department of English, Department of Mathematics). -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md b/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md index 69160e7e..25fc3ea1 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md +++ b/guidelines/groups/input-operation/speech-and-voice-input/real-time-bidirectional-voice-communication.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing title: Real-time bidirectional voice communication type: foundational --- diff --git a/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md b/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md index e43ddcf0..393e9c06 100644 --- a/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md +++ b/guidelines/groups/input-operation/speech-and-voice-input/speech-alternative.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md b/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md deleted file mode 100644 index 0ad390ee..00000000 --- a/guidelines/groups/input-operation/speech-and-voice-input/unique-visible-label.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: exploratory -type: supplemental ---- - -Each :term[interactive element] has unique label associated with it to allow unambiguous voice control - -:::note -This is helpful so that elements can be referred to in a voice command without having to invoke "show numbers" or "show a unique name" feature that is in all voice control software. -::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/target-size.md b/guidelines/groups/input-operation/target-size.md deleted file mode 100644 index 48834301..00000000 --- a/guidelines/groups/input-operation/target-size.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -children: - - target-size-minimum - - target-size-optimum ---- - -Users are not required to accurately position a pointer in order to view or operate :term[content]. From 2d6c8ed77f0f909a7a782001bf92b53ad823ec0d Mon Sep 17 00:00:00 2001 From: Kevin White Date: Fri, 18 Jul 2025 13:18:57 +0100 Subject: [PATCH 63/68] Fix term status --- guidelines/terms/pointer.md | 1 + 1 file changed, 1 insertion(+) diff --git a/guidelines/terms/pointer.md b/guidelines/terms/pointer.md index 9dcb9e0e..79d90fe7 100644 --- a/guidelines/terms/pointer.md +++ b/guidelines/terms/pointer.md @@ -1,4 +1,5 @@ --- +status: placeholder synonyms: - pointing device - pointing devices From a195c99f6b1e7786077931eeb3e2c52142b5c635 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 24 Jul 2025 09:44:04 -0700 Subject: [PATCH 64/68] multiple input subgroup updates --- .../change-keyboard-focus-with-pointer-device.md | 2 +- .../content-on-hover-or-keyboard-focus.md | 2 +- .../input-operation/input-method-flexibility.md | 2 +- .../input-operation/use-without-body-movement.md | 2 +- .../input-operation/keyboard-interface-input.md | 2 +- .../all-content-keyboard-accessible.md | 6 +++++- .../all-elements-keyboard-actionable.md | 2 +- .../bidirectional-navigation.md | 6 +++++- .../keyboard-interface-input/no-keyboard-trap.md | 2 +- .../relevant-keyboard-focus.md | 10 ---------- .../relevant-tab-order-keyboard-focus.md | 14 ++++++++++++++ .../user-control-of-keyboard-focus.md | 10 +++++----- .../logical-keyboard-focus-order.md | 2 +- .../preserve-keyboard-focus.md | 4 ++-- .../standard-or-described-navigation-keys.md | 2 +- ...tent-pointer-cancellation-set-of-pages-views.md | 2 +- 16 files changed, 41 insertions(+), 29 deletions(-) delete mode 100644 guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md create mode 100644 guidelines/groups/input-operation/keyboard-interface-input/relevant-tab-order-keyboard-focus.md diff --git a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md index d837e903..2c7d2ee3 100644 --- a/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md +++ b/guidelines/groups/input-operation/input-operation/change-keyboard-focus-with-pointer-device.md @@ -3,7 +3,7 @@ status: developing type: foundational --- -If content interferes with pointer or keyboard focus behavior of the :term[user agent], then selecting anything on the :term[page] / :term[view] with a :term[pointer] moves the keyboard focus to that element, even if the user drags off the element (so as to not activate it). +If content interferes with pointer or keyboard focus behavior of the :term[user agent], then selecting anything on the :term[view] with a :term[pointer] moves the keyboard focus to that interactive element, even if the user drags off the element (so as to not activate it). :::note An example of this is: a user scrolls a document down six screens, then clicks on a paragraph with their :term[pointer]. The user then presses the tab key, which moves the focus to the first interactive component after the position on the screen that was clicked, rather than from the previous position, six screens up the document. diff --git a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md index 8fe2c3a0..26181929 100644 --- a/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md +++ b/guidelines/groups/input-operation/input-operation/content-on-hover-or-keyboard-focus.md @@ -26,5 +26,5 @@ Custom tooltips, sub-menus, and other non-modal popups that display on hover and ::: :::note -This criterion applies to content that appears in addition to the triggering component itself. Since hidden components that are made visible on keyboard focus (such as links used to skip to another part of a :term[page] / :term[view]) do not present additional content they are not covered by this criterion. +This applies to content that appears in addition to the triggering interactive element itself. Since hidden interactive elements that are made visible on keyboard focus (such as links used to skip to another part of a :term[view]) do not present additional content they are not covered by this requirement. ::: diff --git a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md index 3e6b79d5..0e47c83e 100644 --- a/guidelines/groups/input-operation/input-operation/input-method-flexibility.md +++ b/guidelines/groups/input-operation/input-operation/input-method-flexibility.md @@ -3,7 +3,7 @@ status: developing type: foundational --- -Where functionality, including input or navigation, are achievable using different input methods, users have the option to switch between the input methods at any time, except where a particular input method is :term[essential] to the functionality. +Where functionality, including input or navigation, are achievable using different input methods, users have the option to switch between those input methods at any time. :::note This does not mean that all input technologies (pointer, keyboard, voice, gesture) need to be supported in one's content, but if an input modality is supported, it is supported everywhere in the content except where a particular input method is essential to the functionality. diff --git a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md index 1f56fd11..cd466955 100644 --- a/guidelines/groups/input-operation/input-operation/use-without-body-movement.md +++ b/guidelines/groups/input-operation/input-operation/use-without-body-movement.md @@ -1,5 +1,5 @@ --- -status: exploratory +status: developing type: foundational --- diff --git a/guidelines/groups/input-operation/keyboard-interface-input.md b/guidelines/groups/input-operation/keyboard-interface-input.md index c9e43ee3..3017e463 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input.md +++ b/guidelines/groups/input-operation/keyboard-interface-input.md @@ -7,7 +7,7 @@ children: - keyboard-navigable-if-responsive - no-keyboard-trap - user-control-of-keyboard-focus - - relevant-keyboard-focus + - relevant-tab-order-keyboard-focus --- Users can navigate and operate content using only the keyboard. diff --git a/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md b/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md index 4616433b..3fc0b135 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/all-content-keyboard-accessible.md @@ -14,5 +14,9 @@ Other input modalities include :term[pointing devices], voice and speech recogni ::: :::note -If the content is in expanding sections, you need to not just open the sections but also access all of the content, not just its actionable elements. +The [All Elements Keyboard-Actionable requirement](#all-elements-keyboard-actionable) allows you to navigate to all actionable elements but if the next element is 5 screens down - you also need to be able to access all the content. Also if the content is in expanding sections - you need to not just open them but also access all of the content - not just its actionable elements. +::: + +:::note +A menu that opens and closes is an interactive group that consists of an icon or label (which opens and closes the menu - and is therefore an interactive element) and a group of interactive elements inside. ::: diff --git a/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md b/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md index 0a9be25c..942a3cbd 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/all-elements-keyboard-actionable.md @@ -6,5 +6,5 @@ type: foundational All elements that can be controlled or activated by :term[pointer], audio (voice or other), gesture, camera input, or other means can be controlled or activated from the :term[keyboard interface]. :::note -Here, and throughout this section, "camera input" refers to user control via a camera, for example "in the air" gestures. It does not include, for example, a static QR code image on a web page. +Here, and throughout this section, "camera input" refers to user control using a camera as a motion sensor to detect gestures of any type, for example "in the air" gestures. It does not include, for example, a static QR code image on a web page. ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md b/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md index 01d2b019..b76b6df1 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/bidirectional-navigation.md @@ -3,4 +3,8 @@ status: developing type: foundational --- -It is always possible to move forward and backward at each point using keyboard navigation. \ No newline at end of file +It is always possible to move forward and backward at each point using keyboard navigation. + +:::ednote +We are considering making this require that the navigation be symmetrical (ie., if you navigate forward and then backward you always end up back in the same place) but are interested in comments on this. +::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md index d717fc08..fdab1f0f 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/no-keyboard-trap.md @@ -3,4 +3,4 @@ status: developing type: foundational --- -It is always possible to navigate away from an element after navigating to, or entering, or activating an element by using a :term[common keyboard navigation technique], or a technique for exiting is described on the :term[page] / :term[view] or on a :term[page] / :term[view] earlier in the :term[process] where it is used. \ No newline at end of file +It is always possible to navigate away from an element after navigating to, entering, or activating the element by using a :term[common keyboard navigation technique], or by using a technique for exiting is described on the :term[page] / :term[view] or on a :term[page] / :term[view] earlier in the :term[process] where it is used. \ No newline at end of file diff --git a/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md deleted file mode 100644 index 7da0861b..00000000 --- a/guidelines/groups/input-operation/keyboard-interface-input/relevant-keyboard-focus.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -status: developing -type: foundational ---- - -Except for skip links and other visually hidden elements specifically added to aid keyboard navigation, the keyboard focus order does not include non-interactive elements nor interactive elements in content that is currently visually hidden. - -:::note -Accordions, dropdown menus, and ARIA tab panels are examples of expandable content. Expandable content would not expand unless the user makes explicit selection to do so. -::: diff --git a/guidelines/groups/input-operation/keyboard-interface-input/relevant-tab-order-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/relevant-tab-order-keyboard-focus.md new file mode 100644 index 00000000..013ee8a5 --- /dev/null +++ b/guidelines/groups/input-operation/keyboard-interface-input/relevant-tab-order-keyboard-focus.md @@ -0,0 +1,14 @@ +--- +status: developing +type: foundational +--- + +Except for skip links and other elements that are hidden but specifically added to aid keyboard navigation, tabbing does not move the keyboard focus into content that was not visible before the Tab (or Shift + Tab) key was entered. + +:::note +Accordions, dropdown menus, and [ARIA tab panels](https://www.w3.org/WAI/ARIA/apg/patterns/tabs/) are examples of expandable content. According to this requirement, these would not expand simply because they include an element in the tab-order contained in them. They would either not expand or would not have any tab-order elements in them. +::: + +:::note +For example, a menu that expands when you tab to it, but then uses arrow keys to navigate in it would pass. But a menu that expands and then requires you to tab through all the newly-visible elements to navigate past it would fail. +::: diff --git a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md index e6f23863..289dfac7 100644 --- a/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md +++ b/guidelines/groups/input-operation/keyboard-interface-input/user-control-of-keyboard-focus.md @@ -5,12 +5,12 @@ type: foundational When the keyboard focus is moved, one of the following is true: - The focus was moved under direct user control; -- A new :term[page] / :term[view] such as a dialog is introduced and focus is moved to it; -- The user is informed of the potential move and given the chance to avoid the move; -- The keyboard focus moves to the next item in keyboard navigation order. +- A new :term[view] such as a dialog is introduced and focus is moved to that view; +- The user is informed of the potential keyboard focus move before it happens and given the chance to avoid the move; +- The keyboard focus moves to the next item in keyboard navigation order automatically on completion of some user action. :::note -Examples of where it may be useful to ask the user if they want to move the keyboard focus somewhere (but the user should have the option to say no) would be: +Examples of where it may be useful to "jump the user to some other location" (after of course asking the user if they want to move there) would be: - a form message that says "If you answer no, you can skip questions 8 through 15, would you like to skip to question 16"; and -- when a form error is detected on submit and a message says "There is an error on the page, would you like to jump to it", especially if it also provided information on what the error was. +- when a form error is detected on submit and a message says "There is an error on the page, would you like to jump to it" (especially if it also provided information on what the error was). ::: \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md index b547a4df..2b386068 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/logical-keyboard-focus-order.md @@ -3,4 +3,4 @@ status: developing type: foundational --- -The keyboard focus moves sequentially through :term[content] in an order and way that preserves meaning and operability. \ No newline at end of file +The keyboard focus moves through :term[content] in an order and way that preserves meaning and operability. \ No newline at end of file diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md index 6e92ee0a..729a1810 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/preserve-keyboard-focus.md @@ -3,7 +3,7 @@ status: developing type: foundational --- -When :term[keyboard focus] moves from one context to another within a web page, whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location except if that location no longer exists. +When :term[keyboard focus] moves from one context to another within a :term[web page], whether automatically or by user request, the :term[keyboard focus] is preserved so that, when the user goes back to the previous context, the :term[keyboard focus] is restored to its previous location except if that location no longer exists. :::note An example of this would be when a modal dialog or other pop up opens. @@ -14,5 +14,5 @@ Best practice on placing focus when the previous focus location no longer exists ::: :::note -This is also quite useful when moving between pages but this would usually have to be done by the browser unless the user is in some process where that information is stored in a cookie or on the server between pages in the process. +This is also quite useful when moving between pages but this would usually have to be done by the browser unless the user is in some process where that information is stored in a cookie or on the server between pages in the process so that it still has the old location when the person returns to the page. ::: diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md index 73c0df76..455ab599 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/standard-or-described-navigation-keys.md @@ -3,7 +3,7 @@ status: exploratory type: foundational --- -If any keyboard action needed to navigate, perceive, and operate the full content of the :term[page] / :term[view] is not a :term[common keyboard navigation technique], then it is described on the :term[page] / :term[view] where it is required or on a :term[page] / :term[view] earlier in the :term[process] where it is used. +If any keyboard action needed to navigate, perceive, and operate the full content of the :term[page] / :term[view] is not a :term[common keyboard navigation technique], then it is described in the :term[page] / :term[view] where it is required or on a :term[page] / :term[view] earlier in the :term[process] where it is used. :::note Any platform related functions are not the responsibility of the author as long as they are not overridden by the content. Examples: diff --git a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md index e212e1d0..fbd617c1 100644 --- a/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md +++ b/guidelines/groups/input-operation/pointer-input/consistent-pointer-cancellation-set-of-pages-views.md @@ -4,7 +4,7 @@ title: Consistent pointer cancellation - set of pages / views type: foundational --- -The method of :term[pointer] cancellation is consistent for each type of interaction within or set of :term[pages] / :term[views] except where it is essential. +The method of :term[pointer] cancellation is consistent for each type of interaction within or set of :term[views] except where it is essential to be different. :::note Where it is essential to be different, it can be helpful to alert the user. From 325dff5de720dbbbbd143e3a9d0bfd0655dc5c79 Mon Sep 17 00:00:00 2001 From: Kevin White Date: Thu, 31 Jul 2025 15:29:26 +0100 Subject: [PATCH 65/68] Tidy up definitions --- guidelines/terms/keyboard-focus.md | 7 +++---- guidelines/terms/keyboard-interface.md | 5 +++-- guidelines/terms/standard-platform-keyboard-commands.md | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/guidelines/terms/keyboard-focus.md b/guidelines/terms/keyboard-focus.md index fc6d19a1..4c89aa41 100644 --- a/guidelines/terms/keyboard-focus.md +++ b/guidelines/terms/keyboard-focus.md @@ -2,10 +2,9 @@ status: developing --- -The point in the content where any keyboard actions would take effect. +point in the content where any keyboard actions would take effect -:::note -Examples are: +:::example 1. the keyboard focus on a control where an activate action like a spacebar would take effect, or -2. the place in an input field where a typed character would be inserted +2. the place in an input field where a typed character would be inserted. ::: diff --git a/guidelines/terms/keyboard-interface.md b/guidelines/terms/keyboard-interface.md index 17bbca2e..ecc28490 100644 --- a/guidelines/terms/keyboard-interface.md +++ b/guidelines/terms/keyboard-interface.md @@ -2,7 +2,8 @@ status: developing --- -An API (Application Programming Interface) where software gets "keystrokes" from. +API (Application Programming Interface) where software gets "keystrokes" from :::note -"Keystrokes" that are passed to the software from the "keyboard interface" may come from a wide variety of sources including but not limited to a scanning program (e.g., Stephen Hawking's),sip-and-puff morse code software, speech recognition software, AI of all sorts, as well as other keyboard substitutes or special keyboards. +"Keystrokes" that are passed to the software from the "keyboard interface" may come from a wide variety of sources including but not limited to a scanning program,sip-and-puff morse code software, speech recognition software, AI of all sorts, as well as other keyboard substitutes or special keyboards. +::: \ No newline at end of file diff --git a/guidelines/terms/standard-platform-keyboard-commands.md b/guidelines/terms/standard-platform-keyboard-commands.md index 31ca5853..59d09ddc 100644 --- a/guidelines/terms/standard-platform-keyboard-commands.md +++ b/guidelines/terms/standard-platform-keyboard-commands.md @@ -2,8 +2,8 @@ status: developing --- -Keyboard commands that are the same across most or platforms and are relied upon by users who need to navigate by keyboard alone. +keyboard commands that are the same across most or platforms and are relied upon by users who need to navigate by keyboard alone :::note -A sufficient listing of common keyboard navigation techniques for use by authors can be found in the [WCAG standard keyboard navigation techniques list](#) +A sufficient listing of common keyboard navigation techniques for use by authors can be found in the [WCAG standard keyboard navigation techniques list](#). ::: \ No newline at end of file From c9623d87ed5800d315e5d5aa0279c4beffe87ab4 Mon Sep 17 00:00:00 2001 From: "Kenneth G. Franqueiro" Date: Thu, 31 Jul 2025 11:51:50 -0400 Subject: [PATCH 66/68] Remove unnecessary synonym (pluralization already handled by ReSpec) --- guidelines/terms/pointer.md | 1 - 1 file changed, 1 deletion(-) diff --git a/guidelines/terms/pointer.md b/guidelines/terms/pointer.md index 0c0929eb..f9b478c8 100644 --- a/guidelines/terms/pointer.md +++ b/guidelines/terms/pointer.md @@ -2,5 +2,4 @@ status: placeholder synonyms: - pointing device - - pointing devices --- From 221d06261956468e5d30dfe96c2d33b744c5d1cb Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Thu, 31 Jul 2025 11:35:22 -0700 Subject: [PATCH 67/68] add comparable keyboard effort as an assertion --- ...physical-or-cognitive-effort-when-using-keyboard.md | 1 + .../comparable-keyboard-effort.md | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md index d4b7ac5e..d8289b05 100644 --- a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard.md @@ -4,6 +4,7 @@ children: - standard-or-described-navigation-keys - preserve-keyboard-focus - repetitive-links + - comparable-keyboard-effort --- Users can use keyboard without unnecessary physical or cognitive effort. diff --git a/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md new file mode 100644 index 00000000..8461c802 --- /dev/null +++ b/guidelines/groups/input-operation/physical-or-cognitive-effort-when-using-keyboard/comparable-keyboard-effort.md @@ -0,0 +1,10 @@ +--- +status: developing +type: assertion +--- + +Our user interface design principles include minimizing the difference between the number of input commands required when using the keyboard interface only and the number of commands when using other input modalities. + +:::note +Other input modalities include pointer and voice. +::: From 04858e45c3dd9d3eac241b74f67571bfb60094c7 Mon Sep 17 00:00:00 2001 From: Francis Storr Date: Wed, 6 Aug 2025 08:01:49 -0700 Subject: [PATCH 68/68] delete motion-input.md --- guidelines/groups/input-operation/motion-input.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 guidelines/groups/input-operation/motion-input.md diff --git a/guidelines/groups/input-operation/motion-input.md b/guidelines/groups/input-operation/motion-input.md deleted file mode 100644 index 224f254f..00000000 --- a/guidelines/groups/input-operation/motion-input.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -children: - - use-without-body-movement - - use-without-device-movement ---- - -Users are not required to move their bodies or devices to operate functionality.