WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 15 months ago

Last modified 13 months ago

#42537 closed defect (bug) (fixed)

Remove title attributes: wp-login.php

Reported by: SergeyBiryukov Owned by: afercia
Milestone: 5.2 Priority: normal
Severity: normal Version: 4.9
Component: Login and Registration Keywords: has-patch title-attribute has-dev-note
Focuses: accessibility, multisite Cc:

Description

Background: #34625

On Multisite, the title attribute in login_header() is different from the link text and has some meaning.

<a href="http://ms.wordpress.dev/" title="Network Title" tabindex="-1">Site Title</a>

On single site, however, the title attribute just duplicates the link text and is redundant:

<a href="http://wordpress.dev/" title="Powered by WordPress" tabindex="-1">Powered by WordPress</a>

Most of the title attributes are already removed from core via #24766 and related tickets. We should consider removing this one as well, either completely or only if it duplicates the link text.

The login_headertitle filter could either be deprecated or repurposed to filter the link text instead.

Attachments (3)

42537.diff (612 bytes) - added by chetan200891 3 years ago.
Created patch to remove title attribute.
42537.2.diff (1.8 KB) - added by pratikkry 17 months ago.
deprecate login_headertitle filter and remove $login_header_title
42537.3.diff (2.5 KB) - added by afercia 15 months ago.

Download all attachments as: .zip

Change History (28)

@chetan200891
3 years ago

Created patch to remove title attribute.

#1 @chetan200891
3 years ago

  • Keywords has-patch added

I've attached the patch 42537.diff.

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.


3 years ago

#3 @afercia
3 years ago

  • Milestone changed from Awaiting Review to 5.0

See also #42632

#4 @afercia
23 months ago

  • Keywords title-attribute added

This ticket was mentioned in Slack in #accessibility by rianrietveld. View the logs.


21 months ago

#6 @afercia
21 months ago

  • Milestone changed from 5.0 to 4.9.9

Discussed during today's accessibility bug-scrub an agreed we'd like to propose this for 4.9.9 consideration.

#7 @pento
20 months ago

  • Milestone changed from 4.9.9 to 5.0.1

#8 @pento
18 months ago

  • Milestone changed from 5.0.1 to 5.0.2

#9 @pento
18 months ago

  • Milestone changed from 5.0.2 to 5.0.3

#10 @audrasjb
18 months ago

  • Keywords commit added

#11 @ocean90
17 months ago

  • Milestone changed from 5.0.3 to 5.1

Looks like the login_headertitle should be deprecated as well. I guess any reference to $login_header_title can be removed as well to simplify the code.

Last edited 17 months ago by ocean90 (previous) (diff)

@pratikkry
17 months ago

deprecate login_headertitle filter and remove $login_header_title

#12 @afercia
17 months ago

  • Keywords commit removed
  • Milestone changed from 5.1 to 5.2

The 5.1 release beta 1 is today, the patch probably needs a refresh and deprecation of filters needs to happen early in a release cycle. Punting to 5.2.

Last edited 17 months ago by afercia (previous) (diff)

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.


17 months ago

#14 @afercia
17 months ago

  • Owner set to afercia
  • Status changed from new to assigned

#15 @afercia
15 months ago

Looking a bit more into this, seems to me the current behavior on multisite is wrong.

Markup on the main network site:

<a href="http://wpmultisite.test/" title="My network title">Main site title</a>
  • the URL points to the Network home
  • the title attribute is the Network name (site_name)
  • the text is the main site name (blogname), so it can be different from the title attribute and potentially confusing

Markup on one of the network sites:

<a href="http://wpmultisite.test/" title="My network title">Site 1 title</a>
  • the URL still points to the Network home
  • the title attribute is still the Network name (site_name)
  • however, the text is the site name, which is inconsistent with the URL and title attribute

One more reason to simplify and remove the title attribute.

The link text should also match the URL and always be the name of the main site. Or, the URL should change and match the link text. This basically needs an answer to the question: where the WordPress logo should link to?

Worth also considering that, by default, the WordPress logo is displayed in all the three possible cases:

  • single site
  • network main site
  • network sites

Why the WordPress logo should be used to link to the network in the first place? I'd rather consider to drastically simplify and make it always link by default to https://wordpress.org/. Thus, there wouldn't be any ambiguity or potential confusion: it's the WordPress logo: it links to https://wordpress.org/. Simple, clear.

The filters would still allow to change everything, if desired: logo, URL, and link text.

/Cc @jeremyfelt

#16 @afercia
15 months ago

  • Focuses multisite added

This ticket was mentioned in Slack in #core-multisite by afercia. View the logs.


15 months ago

This ticket was mentioned in Slack in #core by afercia. View the logs.


15 months ago

@afercia
15 months ago

#19 @afercia
15 months ago

42537.3.diff simplifies everything as described above:

  • deprecates login_headertitle
  • introduces a new filter login_headertext
  • removes the title attribute
  • makes the URL and link text always the same on single site and multisite
  • for backwards compatibility, if a login_headertitle is set, that will be used as link text

Not sure about the unset added in [19783], I guess it can be removed?

#20 @afercia
15 months ago

  • Keywords needs-dev-note added

#21 @afercia
15 months ago

@SergeyBiryukov when you have a chance, I'd greatly appreciate your review especially on the filters part :)

This ticket was mentioned in Slack in #core by afercia. View the logs.


15 months ago

#23 @SergeyBiryukov
15 months ago

  • Resolution set to fixed
  • Status changed from assigned to closed

In 44899:

Acessibility: Remove title attribute in login_header().

  • Deprecate login_headertitle filter, introduce login_headertext as a replacement.
  • For backwards compatibility, if a login_headertitle is set, it will be used as link text.
  • Make the login header logo URL and text consistent between single site and Multisite.
  • Avoid ambiguity of where the WordPress logo points to; link to WordPress.org by default.
  • login_headerurl filter is still available to change the URL of the header logo.

Props afercia, pratikkry, chetan200891.
Fixes #42537.

This ticket was mentioned in Slack in #accessibility by afercia. View the logs.


14 months ago

Note: See TracTickets for help on using tickets.