Add an "alt text" to tour tips describing the situation and the highlighted element

Created on 21 August 2024, 3 months ago
Updated 11 September 2024, 2 months ago

Problem/Motivation

For assistive tech there is currently no indication what a tour tip is actually pointing to. At the moment highlighting the element the tour tip is about is purely accomplished with a visual indication. In addition to, on complex pages like the ones in the drupal admin ui it is in general difficult to orient for someone who has to rely soley onto the aural interface. @andrewmacpherson proposed two potential alternatives in 🌱 [META] Improve accessibility of tour module Active solving this probem, either via a programmatic association or wrapping a description in a visually hidden span.

Steps to reproduce

  • active your screenreader of choice
  • go to admin/appearance with your your eyes closed and keep them closed
  • start the tour and try to image what the page is about just based on the aural interface of the page in general and the tour tips in particular

Proposed resolution

trying to solve this problem via programmatic association i consider too error prone. i would heavily vote going with the suggestion of the visually hidden description. a second long text field could be added to edit tour pages. orderwise first the new long text field then the already existing field for the tip. on the tip dialog modal the content of the new field should be prepended (or appended - that way screen reader users already familiar with the description could jump off anytime?) wrapped in a visually hidden span. the advantage of that new field it could function as the "alt text" for the entire page. on the first tip that alt text could describe the page with the most important components and on the preceeding tips just the highlighted elements could be outlined. entirely blind screenreader users might benefit tremendously from that. all the existing tours would probably need an update.

Remaining tasks

User interface changes

API changes

Data model changes

🐛 Bug report
Status

Postponed

Version

2.0

Component

User interface

Created by

🇩🇪Germany rkoller Nürnberg, Germany

Live updates comments and jobs are added and updated live.
  • Accessibility

    It affects the ability of people with disabilities or special needs (such as blindness or color-blindness) to use Drupal.

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @rkoller
  • 🇩🇪Germany rkoller Nürnberg, Germany
  • 🇺🇸United States smustgrave

    Think we need to think of a way to solve this with what we got. Not 100% sure if we add a new field if most people would bother filling it out. Or just copy and paste the body.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    hm i consider it an editorial problem. the new field would need proper instructions in the description for the field underneath. but well as i've labeled it, the new field is more or less the alt text for the page and highlighted ui component. it is the same as adding a proper alt text or not to an image. most people make it decorational, omitting it completely or add just something brief and cryptic not helping a screenreader user understanding what an image is actually about. that is also nothing that could be fixed from the tour module end. i guess the only thing that could be done is provide clear instructions to the field, and lead by example by providing good descriptive microcopy for the new field for the core tour tips , but the field should be left empty by default.

  • 🇺🇸United States smustgrave

    This might be needed for Enable opening a tour recap in a separate window Postponed ?

  • 🇺🇸United States smustgrave

    So where would the aria-describby attribute be attached to?

  • 🇩🇪Germany rkoller Nürnberg, Germany

    if you have the following content related fields on the tip editing page

    label
    alt text
    body

    Personally i think simply a <span class="visually-hidden">alt text</span> could be added in front of the body field. so the screen reader user first gets the "alt text" describing the circumstance providing the necessary context only sighted users have otherwise and then the actual tip is announced. but i'll raise the topic on the next weekly a11y starshot meeting and ask the others about their opinion. cuz the downside on second thought might be that by adding just a visually hiddens span it might be the case that the alt text content wouldnt be skipable. so even though it would be very helpful to provide the context with the alt text but the downside as soon as you have an experienced drupal user the alt text might be obsolete and uninteresting and the actual tip might be the sole point of interest.

  • Status changed to Postponed 2 months ago
  • 🇺🇸United States smustgrave

    Postponing on till we determine where the "alt" field would go.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    in the a11y office hour on september 19th 2024 i've discussed the matter with @mgifford and @itmaybejj. @itmaybejj came up with an interesting suggestion. The tours and tour tips we have exmined as random samples all not necessarily needed an additional alt text to provide some more mandatory context. most of the time only the title was using aimbiguous and imprecise micro copy. So the suggestion was to change the field label on the edit tip page from Label to something like Highlighted element (aka the visible section that is highlighed and described by the tip) or Title and add a description providing some instruction that the title should match the title of the component the tip is about . With the label "label" it isnt THAT clear.
    So by simply updating the field label and then go through all the available tours, validate, and if necessary make changes to the existing tour titles. If it turns out that in a few cases an alt text would still be necessary it could be still added in a follow up. but keeping things simple updating the field label might be enough for this issue? the validation and update of the existing tours could be done in a follow up?

  • 🇺🇸United States smustgrave

    If there are a large number of tours that need to be fixed probably better for follow ups.

    Hoping to find time this week to start a tour recipe so we could remove the config and move there

  • 🇺🇸United States smustgrave

    Simple enough.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    I wonder would the following make sense:

    The tip title should match the title of the component the selector field is referencing. If the field is empty, use the h1 of the page instead.

    the reasoning behind: it is not explicitly stated that the title is the actual title of the tip. "the tip is about" is a bit unspecific. instead i would suggest to refer to the selector field. there the actual DOM element is set that should be highlighted. and i would also add the instructions to use the actual h1 of the page in case no selector is set. that way the user would have clear instructions for both potential cases?

  • 🇺🇸United States smustgrave

    If there are multiple tips with no selector then the tips could have the same title, is that not confusing too?

  • 🇺🇸United States smustgrave

    what if we just add the first part of that suggestion?

  • 🇩🇪Germany rkoller Nürnberg, Germany

    hm i went through the existing tour tips and yep you are right that was sort of unexpected. i've assumed there would be the recommendation (maybe that should be added to the style guide in the tour docs) to only have the first tip with an empty selector. so adding that as the tip title everytime a tip has no selector is no good. but how about the following instead of striking the second sentence:

    The tip title should match the title of the component the selector field is referencing. For the first tip with an empty field, use the h1 of the page instead.

    That way some stylistic guidance would be added?

  • 🇺🇸United States smustgrave

    I don't think that's the case though. You can easily have different tips throughout that have no selector.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    yeah and that is what i was trying to express. if you have more than one tip without a selector only use the h1 of the page for the first of the tips without a selector.

  • 🇺🇸United States smustgrave

    Try that. Used your suggestion with an extra suggestion.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    i like the direction you are heading with your latest suggestion. only two small nitpicks. Your suggestion is:

    The tip title should match the title of the component the selector field is referencing. For the first tip with an empty selector field, use the h1 of the page instead. Any other tip without a selector use unique descriptive title.

    for the second sentence it could be read that you first have for example two tips with a selector and then the first one without. but i guess it should be worded that it is in line with the tour text standards and the recommendation is that the tour should always start with a general tip ( https://www.drupal.org/docs/extending-drupal/contributed-modules/contrib... ). and us was missing an article. the following would make the tour text standards more explicit. the first tip which is a general tip with an empty selector field and then articulate that each additional tip without a selector should have a unique descriptive title.

    The tip title should match the title of the component the selector field is referencing. For the initial general tip with the empty selector field, use the h1 of the page. Each additional tip without a selector should have a unique descriptive title.

    slightly longer but from my point of few a bit more explicit and clear.

    • smustgrave committed 988e6b8f on 2.0.x
      Issue #3469330 by rkoller: Add an "alt text" to tour tips describing the...
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024