WordPress.org

Make WordPress Core

Opened 19 months ago

Closed 2 months ago

Last modified 2 weeks 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 19 months ago.
Created patch to remove title attribute.
42537.2.diff (1.8 KB) - added by pratikkry 5 months ago.
deprecate login_headertitle filter and remove $login_header_title
42537.3.diff (2.5 KB) - added by afercia 3 months ago.

Download all attachments as: .zip

Change History (28)

@chetan200891
19 months ago

Created patch to remove title attribute.

#1 @chetan200891
19 months 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.


18 months ago

#3 @afercia
18 months ago

  • Milestone changed from Awaiting Review to 5.0

See also #42632

#4 @afercia
11 months ago

  • Keywords title-attribute added

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


8 months ago

#6 @afercia
8 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
8 months ago

  • Milestone changed from 4.9.9 to 5.0.1

#8 @pento
5 months ago

  • Milestone changed from 5.0.1 to 5.0.2

#9 @pento
5 months ago

  • Milestone changed from 5.0.2 to 5.0.3

#10 @audrasjb
5 months ago

  • Keywords commit added

#11 @ocean90
5 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 5 months ago by ocean90 (previous) (diff)

@pratikkry
5 months ago

deprecate login_headertitle filter and remove $login_header_title

#12 @afercia
5 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 4 months ago by afercia (previous) (diff)

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


5 months ago

#14 @afercia
5 months ago

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

#15 @afercia
3 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
3 months ago

  • Focuses multisite added

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


3 months ago

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


3 months ago

@afercia
3 months ago

#19 @afercia
3 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
3 months ago

  • Keywords needs-dev-note added

#21 @afercia
2 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.


2 months ago

#23 @SergeyBiryukov
2 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.


5 weeks ago

#25 @desrosj
2 weeks ago

  • Keywords has-dev-note added; needs-dev-note removed
Note: See TracTickets for help on using tickets.