Skip to content

Conversation

@Caffeinix
Copy link
Contributor

@Caffeinix Caffeinix commented Jun 21, 2023

The Apple Human Interface Guidelines give a specific ordering of the symbols
used as modifier keys in menu shortcuts. These guidelines are encoded into
the native Cocoa or UIKit menu classes, and are intended to ensure that symbols
are always aligned into columns of like symbols and do not move around in the
case of dynamic menu items (for example, holding Option will transform certain
menu items into different versions that take the Option key, so the Option key
symbol appears to the left of most other symbols to avoid reordering).

The Material spec says to use symbols for modifier keys on Mac and iOS, as this
is what users there are familiar with. It stands to reason that we should
follow the platform guidelines fully, so this changes the MenuItemButton class
to honor the HIG-compliant symbol ordering on Mac and iOS.

Fixed: #129308

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@github-actions github-actions bot added f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels. labels Jun 21, 2023
@HansMuller HansMuller requested a review from gspencergoog June 28, 2023 18:28
Copy link
Contributor

@gspencergoog gspencergoog left a comment

Choose a reason for hiding this comment

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

32384589-a60f0e74-c078-11e7-9bc1-e5b5287aea9d

Thanks for the PR! This is a good improvement.

Copy link
Contributor

@chunhtai chunhtai left a comment

Choose a reason for hiding this comment

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

LGTM, just a minor suggestion

@Caffeinix
Copy link
Contributor Author

Linux test failures appear unrelated to this PR. PLMK if there's any further action needed from me.

Caffeinix and others added 2 commits July 25, 2023 19:00
The Apple Human Interface Guidelines give a specific ordering of the symbols
used as modifier keys in menu shortcuts.  These guidelines are encoded into
the native Cocoa or UIKit menu classes, and are intended to ensure that symbols
are always aligned into columns of like symbols and do not move around in the
case of dynamic menu items (for example, holding Option will transform certain
menu items into different versions that take the Option key, so the Option key
symbol appears to the left of most other symbols to avoid reordering).

The Material spec says to use symbols for modifier keys on Mac and iOS, as this
is what users there are familiar with.  It stands to reason that we should
follow the platform guidelines fully, so this changes the MenuItemButton class
to honor the HIG-compliant symbol ordering on Mac and iOS.
@jiahaog jiahaog added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 26, 2023
@auto-submit auto-submit bot merged commit a4f7906 into flutter:master Jul 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 26, 2023
tarrinneal pushed a commit to flutter/packages that referenced this pull request Jul 26, 2023
flutter/flutter@9def8f6...bae1ac2

2023-07-26 [email protected] ImageDecoration.lerp (flutter/flutter#130533)
2023-07-26 [email protected] Document the Flow/Opacity/hit-test issues
(flutter/flutter#131239)
2023-07-26 [email protected] Run benchmarks with
`--omit-type-checks` (flutter/flutter#131102)
2023-07-26 [email protected] Roll Flutter Engine from
ba83c144f84e to faf1121d010c (2 revisions) (flutter/flutter#131339)
2023-07-26 [email protected] Roll Packages from
406eac1 to a99fc87 (1 revision) (flutter/flutter#131336)
2023-07-26 [email protected] [flutter roll] Revert "Fix floating
SnackBar throws when FAB is on the top" (flutter/flutter#131303)
2023-07-26 [email protected] Roll Flutter Engine from
89203002f455 to ba83c144f84e (1 revision) (flutter/flutter#131329)
2023-07-26 [email protected] Roll Flutter Engine from
b3cd1c599abe to 89203002f455 (1 revision) (flutter/flutter#131323)
2023-07-26 [email protected] Roll Flutter Engine from
4bdceccff964 to b3cd1c599abe (1 revision) (flutter/flutter#131317)
2023-07-26 [email protected] Roll Flutter Engine from
df12fff329a1 to 4bdceccff964 (2 revisions) (flutter/flutter#131316)
2023-07-26 [email protected] Roll Flutter Engine from
43f727e4748a to df12fff329a1 (3 revisions) (flutter/flutter#131314)
2023-07-26 [email protected] Roll Flutter Engine from
7f3b0d6b7250 to 43f727e4748a (1 revision) (flutter/flutter#131311)
2023-07-26 [email protected] Roll Flutter Engine from
db711f14842b to 7f3b0d6b7250 (4 revisions) (flutter/flutter#131309)
2023-07-26 [email protected] Reorders menu item button
shortcuts on Mac-like platforms (flutter/flutter#129309)
2023-07-26 [email protected] Roll Flutter Engine from
9e00c11eb519 to db711f14842b (3 revisions) (flutter/flutter#131307)
2023-07-26 [email protected] Ignore unused parameters in snippet code
(flutter/flutter#131068)
2023-07-25 [email protected] Roll Flutter Engine from
3fff7316dc8d to 9e00c11eb519 (1 revision) (flutter/flutter#131299)
2023-07-25 [email protected] Add example for locking screen orientation
in a letterboxing environment (flutter/flutter#131266)
2023-07-25 [email protected] Update BottomAppBar and
BottomAppBarTheme tests for M3 (flutter/flutter#130983)
2023-07-25 [email protected] Roll Flutter Engine from
f5fbfa859b63 to 3fff7316dc8d (4 revisions) (flutter/flutter#131286)
2023-07-25 [email protected] Add Sabin Neupane
to AUTHORS (flutter/flutter#131237)
2023-07-25 [email protected] Roll Packages from
8028caf to 406eac1 (4 revisions) (flutter/flutter#131285)
2023-07-25 [email protected] Roll Flutter Engine from
0a5c6cdd5d02 to f5fbfa859b63 (8 revisions) (flutter/flutter#131283)
2023-07-25 [email protected] 🚀 Expose
`scrollControlDisabledMaxHeightRatio` to the modal bottom sheet
(flutter/flutter#129688)
2023-07-25 [email protected] Revert "Proposal
to add barrier configs for showDatePicker, showTimePicker and
showAboutDialog." (flutter/flutter#131278)
2023-07-25 [email protected] Roll Flutter Engine from
036c58f79307 to 0a5c6cdd5d02 (1 revision) (flutter/flutter#131256)
2023-07-25 [email protected] Fix `RawChip` doesn't use
`ChipTheme.showCheckmark` value (flutter/flutter#131257)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC
[email protected],[email protected],[email protected] on the
revert to ensure that a human
is aware of the problem.

To file a bug in Packages:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
LouiseHsu pushed a commit to LouiseHsu/flutter that referenced this pull request Jul 31, 2023
…9309)

The Apple Human Interface Guidelines give a specific ordering of the symbols
used as modifier keys in menu shortcuts.  These guidelines are encoded into
the native Cocoa or UIKit menu classes, and are intended to ensure that symbols
are always aligned into columns of like symbols and do not move around in the
case of dynamic menu items (for example, holding Option will transform certain
menu items into different versions that take the Option key, so the Option key
symbol appears to the left of most other symbols to avoid reordering).

The Material spec says to use symbols for modifier keys on Mac and iOS, as this
is what users there are familiar with.  It stands to reason that we should
follow the platform guidelines fully, so this changes the MenuItemButton class
to honor the HIG-compliant symbol ordering on Mac and iOS.

Fixed: flutter#129308
vashworth pushed a commit to vashworth/flutter that referenced this pull request Aug 2, 2023
…9309)

The Apple Human Interface Guidelines give a specific ordering of the symbols
used as modifier keys in menu shortcuts.  These guidelines are encoded into
the native Cocoa or UIKit menu classes, and are intended to ensure that symbols
are always aligned into columns of like symbols and do not move around in the
case of dynamic menu items (for example, holding Option will transform certain
menu items into different versions that take the Option key, so the Option key
symbol appears to the left of most other symbols to avoid reordering).

The Material spec says to use symbols for modifier keys on Mac and iOS, as this
is what users there are familiar with.  It stands to reason that we should
follow the platform guidelines fully, so this changes the MenuItemButton class
to honor the HIG-compliant symbol ordering on Mac and iOS.

Fixed: flutter#129308
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App f: material design flutter/packages/flutter/material repository. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MenuItemButton shortcut labels do not follow the Apple HIG on Mac and iOS

4 participants