Skip to content

Deprecate globals#1198

Merged
jnurthen merged 16 commits intomasterfrom
DeprecateGlobals
May 8, 2020
Merged

Deprecate globals#1198
jnurthen merged 16 commits intomasterfrom
DeprecateGlobals

Conversation

@jnurthen
Copy link
Copy Markdown
Member

@jnurthen jnurthen commented Feb 13, 2020

Very Draft PR to close #1164


Preview | Diff

Copy link
Copy Markdown
Member

@scottaohara scottaohara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For next steps I'd like to see the "(deprecated)" text in the roles' characteristics tables say "Deprecated in ARIA 1.2" next to each of these attributes.

I'd also like to see text added to each of these attributes stating they're being deprecated from being global attributes, and in future versions of ARIA they will be allowed only on specific roles that do not indicate these attributes as being deprecated.

I can work on adding this text in if others agree.

for deprecated states and properties
@jnurthen jnurthen requested a review from carmacleod April 2, 2020 17:37
jnurthen and others added 4 commits April 2, 2020 16:34
Co-Authored-By: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
Co-Authored-By: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
Co-Authored-By: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
Co-Authored-By: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
@jnurthen jnurthen marked this pull request as ready for review April 3, 2020 23:43
@jnurthen
Copy link
Copy Markdown
Member Author

jnurthen commented Apr 3, 2020

Note: this can't be merged as it changes files in aria-common too - but please review. I will split it out once it is reviewed

Copy link
Copy Markdown
Contributor

@mcking65 mcking65 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some cases with multiple inherritance where the script isn't doing quite what we want.

The columnheader role is a subclass of gridcell. The gridcell role supports aria-disabled, aria-expanded, aria-haspopup, and aria-invalid. But, the script is incorrectly deprecating these on columnheader. Note that we have a note in the columnheader prose saying that in a future version we plan to limit use of aria-disabled to columnheaders in a grid context; that note does not mention aria-expanded, aria-haspopup, or aria-invalid. I am not sure why; I don't remember the history of that note. rowheader has similar problems.

In the last working draft, aria-haspopup was not deprecated on menuitemcheckbox and menuitemradio. It makes sense not to support it on these two roles. However, I don't understand why the script is deprecating on these given that one of their superclasses is menuitem, and menuitem supports aria-haspopup. Perhaps this is similar to the columnheader and rowheader issue. One of the superclasses of menuitemcheckbox is checkbox, and it doesn't support aria-haspopup.

I don't recall discussion of why aria-haspopup is not supported on the option role. We have it on treeitem and tab; seems like it should be on option.

The script is incorrectly deprecating aria-disabled on treeitem, perhaps because of its listitem superclass.

This is kind of a nit, but the wording for abstract roles, e.g., command, should be something like "use on concrete subclass roles of this role prohibited in ARIA 1.2"

@jnurthen
Copy link
Copy Markdown
Member Author

@mcking65 I think I have fixed all those issues. Can you please take another look.

Copy link
Copy Markdown
Member

@scottaohara scottaohara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey. i was able to steal some time to review this today. sorry it's been so long...

The only thing that jumps out at me right now is that in the pr preview i'm seeing aria-expanded as now being listed as a global state and property (that is now also noted as being deprecated in aria 1.2).

Copy link
Copy Markdown
Contributor

@carmacleod carmacleod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 4 deprecated attributes are:

  • aria-disabled
  • aria-errormessage
  • aria-haspopup
  • aria-invalid

Some of this code seems to be mixing up aria-errormessage with aria-expanded. (See inline comments).

Copy link
Copy Markdown
Contributor

@carmacleod carmacleod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Looks good.

One question:

  • treeitem inherits from option (which supports aria-disabled) and listitem (which does not).
  • treegrid inherits from tree (which supports aria-errormessage and aria-invalid) and grid (which does not).

Did we discuss these conflicts? Just want to make sure we actually decided to support aria-disabled, errormessage, and invalid on these, and it's not just some artifact of the script. :)

Reminder to commit the common stuff to aria-common.

@jnurthen
Copy link
Copy Markdown
Member Author

@carmacleod I don't think we have discussed it but I believe it is consistent with the rest of the specification if it works this way.

@jnurthen jnurthen merged commit 0f023e9 into master May 8, 2020
jnurthen added a commit that referenced this pull request May 8, 2020
* Only show roles specificailly allowed for deprecated states and properties
* Modify deprecation for multiple inheritance
Co-authored-by: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
cookiecrook pushed a commit that referenced this pull request May 15, 2020
* Only show roles specificailly allowed for deprecated states and properties
* Modify deprecation for multiple inheritance
Co-authored-by: Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>
@jnurthen jnurthen deleted the DeprecateGlobals branch July 23, 2020 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate global attributes instead of removing them

5 participants