Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Editor Onboarding: "The Basics" help section - Details Part 2 #34018

Merged
merged 20 commits into from
Aug 19, 2021

Conversation

dcalhoun
Copy link
Member

@dcalhoun dcalhoun commented Aug 11, 2021

Related PRs

Description

Fixes #30626. Iterates upon the work completed in #33790. This work improves accessibility, copy, and design of the editor help section.

How has this been tested?

⚠️ The Editor Onboarding features, including the Help button, are only available to 50% of users based on user ID. You must be logged into a WPCom account or receive a anonymous ID that is included in the cohort.

Help Section: Visual
  1. Install builds for iOS and Android from the sibling PRs.
  2. Launch the post editor.
  3. Tap the three-dot menu in the top right corner.
  4. Tap Help.
  5. ℹ️ Expected: Navigating to each topic results in the correct content is displayed.
  6. Close the editor.
  7. Enable dark mode of the device.
  8. Repeat steps 2-5.
Help Section: Audible
  1. Install builds for iOS and Android from the sibling PRs.
  2. Launch the post editor.
  3. Enable VoiceOver/TalkBack.
  4. Select and activate the three-dot menu in the top right corner.
  5. Select and activate Help.
  6. ℹ️ Expected: Navigating and comprehending each topic is easy with the screen reader.
Existing Bottom Sheet Headers
  1. Install builds for iOS and Android from the sibling PRs.
  2. Launch the post editor.
  3. Add a Paragraph block.
  4. Tap Link button in toolbar.
  5. Tap Link to Cell.
  6. ℹ️ Expected: Verify the Cancel/X button, title, and Apply/Checkmark button all render and function as expected.
  7. Add a Cover block.
  8. Add background media.
  9. Tap block settings button.
  10. Tap Edit focal point.
  11. ℹ️ Expected: Verify the Cancel/X button, title, and Apply/Checkmark button all render and function as expected.

Screenshots

UX Interactions
RPReplay_Final1629904800.MP4
Screenshots
iOS Android
help-index-ios help-index-android
help-index-ios-dark help-index-android-dark
help-detail-ios help-detail-android
help-detail-ios-dark help-detail-android-dark

Types of changes

New feature

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR (please manually search all *.native.js files for terms that need renaming or removal).

Avoid duplicative code by leveraging the existing abstraction.
Adding the "header" role provides improved audible cues of the content
structure.
This particular image attempts to communicate the location of the text
formatting controls.
Clicking is an action specific to cursor input devices, which is not
relevant for touch input devices.
Declaring text elements as headers where appropriate improves the
ability to navigate and understand content structure.
Various spacing and sizing changes were required to match the design.
To improve navigation, scroll the help content separately from the
heading that remains fixed atop the bottom sheet.
Fix a few broken images. Include assets for higher pixel density
displays.
@dcalhoun dcalhoun added Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) [Package] Editor /packages/editor [Type] Feature New feature to highlight in changelogs. labels Aug 11, 2021
@dcalhoun dcalhoun self-assigned this Aug 11, 2021
@github-actions
Copy link

github-actions bot commented Aug 11, 2021

Size Change: +3.83 kB (0%)

Total Size: 1.03 MB

Filename Size Change
build/block-editor/index.min.js 118 kB +271 B (0%)
build/block-editor/style-rtl.css 13.8 kB -28 B (0%)
build/block-editor/style.css 13.8 kB -24 B (0%)
build/block-library/blocks/post-featured-image/editor-rtl.css 398 B -14 B (-3%)
build/block-library/blocks/post-featured-image/editor.css 398 B -14 B (-3%)
build/block-library/common-rtl.css 1.29 kB +458 B (+55%) 🆘
build/block-library/common.css 1.29 kB +458 B (+55%) 🆘
build/block-library/editor-rtl.css 9.87 kB +485 B (+5%) 🔍
build/block-library/editor.css 9.85 kB +485 B (+5%) 🔍
build/block-library/index.min.js 147 kB +266 B (0%)
build/block-library/style-rtl.css 10.2 kB +467 B (+5%) 🔍
build/block-library/style.css 10.3 kB +466 B (+5%) 🔍
build/components/index.min.js 209 kB +197 B (0%)
build/core-data/index.min.js 12.3 kB -4 B (0%)
build/data/index.min.js 7.18 kB +155 B (+2%)
build/edit-site/index.min.js 25.9 kB +104 B (0%)
build/editor/index.min.js 37.5 kB -7 B (0%)
build/rich-text/index.min.js 10.6 kB +106 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 931 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.7 kB
build/api-fetch/index.min.js 2.19 kB
build/autop/index.min.js 2.08 kB
build/blob/index.min.js 459 B
build/block-directory/index.min.js 6.21 kB
build/block-directory/style-rtl.css 1.01 kB
build/block-directory/style.css 1.01 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 58 B
build/block-library/blocks/audio/editor.css 58 B
build/block-library/blocks/audio/style-rtl.css 111 B
build/block-library/blocks/audio/style.css 111 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 161 B
build/block-library/blocks/block/editor.css 161 B
build/block-library/blocks/button/editor-rtl.css 474 B
build/block-library/blocks/button/editor.css 474 B
build/block-library/blocks/button/style-rtl.css 605 B
build/block-library/blocks/button/style.css 604 B
build/block-library/blocks/buttons/editor-rtl.css 315 B
build/block-library/blocks/buttons/editor.css 315 B
build/block-library/blocks/buttons/style-rtl.css 370 B
build/block-library/blocks/buttons/style.css 370 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 131 B
build/block-library/blocks/code/theme.css 131 B
build/block-library/blocks/columns/editor-rtl.css 194 B
build/block-library/blocks/columns/editor.css 193 B
build/block-library/blocks/columns/style-rtl.css 474 B
build/block-library/blocks/columns/style.css 475 B
build/block-library/blocks/cover/editor-rtl.css 666 B
build/block-library/blocks/cover/editor.css 670 B
build/block-library/blocks/cover/style-rtl.css 1.23 kB
build/block-library/blocks/cover/style.css 1.23 kB
build/block-library/blocks/embed/editor-rtl.css 488 B
build/block-library/blocks/embed/editor.css 488 B
build/block-library/blocks/embed/style-rtl.css 400 B
build/block-library/blocks/embed/style.css 400 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 300 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 255 B
build/block-library/blocks/file/style.css 255 B
build/block-library/blocks/file/view.min.js 322 B
build/block-library/blocks/freeform/editor-rtl.css 2.44 kB
build/block-library/blocks/freeform/editor.css 2.44 kB
build/block-library/blocks/gallery/editor-rtl.css 707 B
build/block-library/blocks/gallery/editor.css 706 B
build/block-library/blocks/gallery/style-rtl.css 1.05 kB
build/block-library/blocks/gallery/style.css 1.05 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 93 B
build/block-library/blocks/group/theme.css 93 B
build/block-library/blocks/heading/editor-rtl.css 152 B
build/block-library/blocks/heading/editor.css 152 B
build/block-library/blocks/heading/style-rtl.css 76 B
build/block-library/blocks/heading/style.css 76 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 283 B
build/block-library/blocks/html/editor.css 284 B
build/block-library/blocks/image/editor-rtl.css 728 B
build/block-library/blocks/image/editor.css 728 B
build/block-library/blocks/image/style-rtl.css 482 B
build/block-library/blocks/image/style.css 487 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B
build/block-library/blocks/latest-posts/editor.css 137 B
build/block-library/blocks/latest-posts/style-rtl.css 528 B
build/block-library/blocks/latest-posts/style.css 527 B
build/block-library/blocks/list/style-rtl.css 63 B
build/block-library/blocks/list/style.css 63 B
build/block-library/blocks/media-text/editor-rtl.css 266 B
build/block-library/blocks/media-text/editor.css 263 B
build/block-library/blocks/media-text/style-rtl.css 488 B
build/block-library/blocks/media-text/style.css 485 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 474 B
build/block-library/blocks/navigation-link/editor.css 474 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation/editor-rtl.css 1.69 kB
build/block-library/blocks/navigation/editor.css 1.69 kB
build/block-library/blocks/navigation/style-rtl.css 1.65 kB
build/block-library/blocks/navigation/style.css 1.64 kB
build/block-library/blocks/navigation/view.min.js 2.52 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 310 B
build/block-library/blocks/page-list/editor.css 310 B
build/block-library/blocks/page-list/style-rtl.css 242 B
build/block-library/blocks/page-list/style.css 242 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 248 B
build/block-library/blocks/paragraph/style.css 248 B
build/block-library/blocks/post-author/editor-rtl.css 210 B
build/block-library/blocks/post-author/editor.css 210 B
build/block-library/blocks/post-author/style-rtl.css 182 B
build/block-library/blocks/post-author/style.css 181 B
build/block-library/blocks/post-comments-form/style-rtl.css 140 B
build/block-library/blocks/post-comments-form/style.css 140 B
build/block-library/blocks/post-comments/style-rtl.css 360 B
build/block-library/blocks/post-comments/style.css 359 B
build/block-library/blocks/post-content/editor-rtl.css 138 B
build/block-library/blocks/post-content/editor.css 138 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 69 B
build/block-library/blocks/post-excerpt/style.css 69 B
build/block-library/blocks/post-featured-image/style-rtl.css 143 B
build/block-library/blocks/post-featured-image/style.css 143 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 378 B
build/block-library/blocks/post-template/style.css 379 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 103 B
build/block-library/blocks/preformatted/style.css 103 B
build/block-library/blocks/pullquote/editor-rtl.css 198 B
build/block-library/blocks/pullquote/editor.css 198 B
build/block-library/blocks/pullquote/style-rtl.css 361 B
build/block-library/blocks/pullquote/style.css 360 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B
build/block-library/blocks/query-pagination/editor.css 262 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B
build/block-library/blocks/query-pagination/style.css 168 B
build/block-library/blocks/query-title/editor-rtl.css 85 B
build/block-library/blocks/query-title/editor.css 85 B
build/block-library/blocks/query/editor-rtl.css 131 B
build/block-library/blocks/query/editor.css 132 B
build/block-library/blocks/quote/style-rtl.css 169 B
build/block-library/blocks/quote/style.css 169 B
build/block-library/blocks/quote/theme-rtl.css 220 B
build/block-library/blocks/quote/theme.css 222 B
build/block-library/blocks/rss/editor-rtl.css 202 B
build/block-library/blocks/rss/editor.css 204 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 374 B
build/block-library/blocks/search/style.css 375 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 99 B
build/block-library/blocks/separator/editor.css 99 B
build/block-library/blocks/separator/style-rtl.css 250 B
build/block-library/blocks/separator/style.css 250 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 462 B
build/block-library/blocks/site-logo/editor.css 464 B
build/block-library/blocks/site-logo/style-rtl.css 153 B
build/block-library/blocks/site-logo/style.css 153 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 84 B
build/block-library/blocks/site-title/editor.css 84 B
build/block-library/blocks/social-link/editor-rtl.css 165 B
build/block-library/blocks/social-link/editor.css 165 B
build/block-library/blocks/social-links/editor-rtl.css 812 B
build/block-library/blocks/social-links/editor.css 811 B
build/block-library/blocks/social-links/style-rtl.css 1.33 kB
build/block-library/blocks/social-links/style.css 1.33 kB
build/block-library/blocks/spacer/editor-rtl.css 307 B
build/block-library/blocks/spacer/editor.css 307 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 471 B
build/block-library/blocks/table/editor.css 472 B
build/block-library/blocks/table/style-rtl.css 481 B
build/block-library/blocks/table/style.css 481 B
build/block-library/blocks/table/theme-rtl.css 188 B
build/block-library/blocks/table/theme.css 188 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 146 B
build/block-library/blocks/template-part/editor-rtl.css 636 B
build/block-library/blocks/template-part/editor.css 635 B
build/block-library/blocks/template-part/theme-rtl.css 101 B
build/block-library/blocks/template-part/theme.css 101 B
build/block-library/blocks/term-description/editor-rtl.css 90 B
build/block-library/blocks/term-description/editor.css 90 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 87 B
build/block-library/blocks/verse/style.css 87 B
build/block-library/blocks/video/editor-rtl.css 571 B
build/block-library/blocks/video/editor.css 572 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/reset-rtl.css 527 B
build/block-library/reset.css 527 B
build/block-library/theme-rtl.css 688 B
build/block-library/theme.css 692 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 47 kB
build/components/style-rtl.css 15.7 kB
build/components/style.css 15.8 kB
build/compose/index.min.js 10.2 kB
build/customize-widgets/index.min.js 10.4 kB
build/customize-widgets/style-rtl.css 1.5 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 614 B
build/date/index.min.js 31.5 kB
build/deprecated/index.min.js 428 B
build/dom-ready/index.min.js 304 B
build/dom/index.min.js 4.53 kB
build/edit-navigation/index.min.js 13.4 kB
build/edit-navigation/style-rtl.css 3.1 kB
build/edit-navigation/style.css 3.1 kB
build/edit-post/classic-rtl.css 492 B
build/edit-post/classic.css 494 B
build/edit-post/index.min.js 28.4 kB
build/edit-post/style-rtl.css 7.18 kB
build/edit-post/style.css 7.17 kB
build/edit-site/style-rtl.css 5.01 kB
build/edit-site/style.css 5.01 kB
build/edit-widgets/index.min.js 15.9 kB
build/edit-widgets/style-rtl.css 4.01 kB
build/edit-widgets/style.css 4.02 kB
build/editor/style-rtl.css 3.92 kB
build/editor/style.css 3.91 kB
build/element/index.min.js 3.16 kB
build/escape-html/index.min.js 517 B
build/format-library/index.min.js 5.36 kB
build/format-library/style-rtl.css 668 B
build/format-library/style.css 669 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 424 B
build/i18n/index.min.js 3.59 kB
build/is-shallow-equal/index.min.js 501 B
build/keyboard-shortcuts/index.min.js 1.49 kB
build/keycodes/index.min.js 1.25 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 838 B
build/list-reusable-blocks/style.css 838 B
build/media-utils/index.min.js 2.88 kB
build/notices/index.min.js 845 B
build/nux/index.min.js 2.03 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.83 kB
build/primitives/index.min.js 921 B
build/priority-queue/index.min.js 582 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.63 kB
build/reusable-blocks/index.min.js 2.28 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/server-side-render/index.min.js 1.32 kB
build/shortcode/index.min.js 1.48 kB
build/token-list/index.min.js 562 B
build/url/index.min.js 1.72 kB
build/viewport/index.min.js 1.02 kB
build/warning/index.min.js 248 B
build/widgets/index.min.js 6.27 kB
build/widgets/style-rtl.css 1.04 kB
build/widgets/style.css 1.04 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

This matches the design comp and the title found elsewhere in other
bottom sheets.
@dcalhoun dcalhoun marked this pull request as ready for review August 11, 2021 21:25
@dcalhoun dcalhoun requested a review from jhnstn August 11, 2021 21:26
@hypest
Copy link
Contributor

hypest commented Aug 13, 2021

Wow, the help section is great! Feel like the type of onboarding to introduce in other aspects of the app too!

I made a quick pass using the WPAndroid installable build 113968 (I understand @jhnstn will also do his passes too), and here are my notes. Most are about the UX so, pinging both @kyleaparker and @dcalhoun on this 👍

Potential blockers

  1. Looks like there's an issue with navigating between the topics where the topic shown is now actually the one tapped on. Steps to reproduce:
    a. Tap on "What is a block?"
    b. The correct help section is shown ("Welcome to the world of blocks...")
    c. Tap on the back button on the Android bottom bar to return to the help sections list
    d. Tap on the "Add blocks" topic
    e. Notice that the "What is a block?" section is shown again 💥

  2. The bottomsheet title reads "How to edit your site" when editing a post. Not sure if that's intended? Maybe we'd expect a "How to edit your post"? in that case?

  3. The "back" navigation button in the bottomsheet header is presenting too small of a git target. Is this something we can work on before the releasing the feature? See the video where the white circle is my tapping and only when I'm getting very close to the back arrow the tap is triggering the nav action:

back-nav-small-hit-target.mp4

Non blocking (non-blockers for this PR or out-of-scope)

  1. In Dark Mode, the image assets don't blend too well since they depict the blocks in light mode. I think this is probably highly subjective and just wanted to put it out there.
  2. For a couple of the current help topics, we show the same screenshot of the 3-dot block toolbar button, which is the first step for navigating to the option at hand. I understand that since the options are actually in bottomsheets the screenshots wouldn't be compact enough if we depicted both the 3-dot menu and the bottomsheet. I wonder though if we could improve this somehow. For example, show the bottomsheet option in some kind of inset or overlay along with the 3-dot menu.
  3. Known from other places as well but looks like the bright-and-full-width image asset in the "What is a block?" topic doesn't allow the scrollbar to be too visible on Android dark mode. I think it's outside the scope of this PR but I wonder if there's anything quick we can do for improving this? cc @kyleaparker . See the following screengrab of the issue on my Pixel 2XL in dark mode where the ephemeral scrollbar is only adding a barely noticeable tint over the underlying image:

  1. The "The basics" group title makes me expect more groups and I was scrolling to find them. No strong feelings but, maybe we don't need it as long as we have only one group? Perhaps we can introduce it when we'll add more groups?

  2. Enhancement idea: with the amount of prose in the sections, I wonder if it makes sense to try and make the text selectable (think: long-clicking to select some words) to enable searching the web for terms. I find myself doing that quite often on the web (browsers) and I wonder if it makes sense here too?

I'll pause at this point as the comment is already getting too big, sorry about that. Let me know if anything is unclear, thanks!

@dcalhoun
Copy link
Member Author

Thanks for the review, @hypest. 🙇🏻

Potential Blockers

  1. Looks like there's an issue with navigating between the topics where the topic shown is now actually the one tapped on.

Good catch. I was able to reproduce this and it appears to be specific to the Android bottom bar back button. I'll investigate.

  1. The bottomsheet title reads "How to edit your site" when editing a post. Not sure if that's intended? Maybe we'd expect a "How to edit your post"? in that case?

The copy is from the design comps, but I agree the copy could be misinterpreted. I suppose the editor context could either be a post or page. I believe we could use the postType to have a title match the context with "How to edit your post/page."

  1. The "back" navigation button in the bottomsheet header is presenting too small of a git target. Is this something we can work on before the releasing the feature?

It does appear the smaller back button target is fairly small throughout the app for other bottom sheets as well. I will attempt to improve this.

Non-Blockers

  1. In Dark Mode, the image assets don't blend too well since they depict the blocks in light mode. I think this is probably highly subjective and just wanted to put it out there.

I agree, the images do have a high amount of contrast in Dark Mode. @kyleaparker if you agree and are willing to create Dark Mode visual illustrations, we could likely swap out the images based upon the Dark Mode setting fairly easily. The only downside I perceive is that we'd double the amount of images we bundle with the app.

  1. For a couple of the current help topics, we show the same screenshot of the 3-dot block toolbar button, which is the first step for navigating to the option at hand. I understand that since the options are actually in bottomsheets the screenshots wouldn't be compact enough if we depicted both the 3-dot menu and the bottomsheet. I wonder though if we could improve this somehow. For example, show the bottomsheet option in some kind of inset or overlay along with the 3-dot menu.

I am struggling to follow and identify what you are referencing with this comment. Would you be willing to elaborate further please?

  1. The "The basics" group title makes me expect more groups and I was scrolling to find them. No strong feelings but, maybe we don't need it as long as we have only one group? Perhaps we can introduce it when we'll add more groups?

That makes sense to me. It is easy to remove. @kyleaparker WDYT about removing the section heading for now?

  1. Enhancement idea: with the amount of prose in the sections, I wonder if it makes sense to try and make the text selectable (think: long-clicking to select some words) to enable searching the web for terms. I find myself doing that quite often on the web (browsers) and I wonder if it makes sense here too?

This could be a nice enhancement. From researching briefly, we could enable selectable, which allows Android to select/copy as expected (although I only got it to work once, maybe nested Touchables could be causing issue 😕). However, iOS only supports copying the entirety of a given Text element. There is a workaround to enable selection for iOS, but I am not sure it is worth its weight. There is a feature request to improve this, but it is fairly old. Enabling selectable could be a good first improvement. WDYT?

@hypest
Copy link
Contributor

hypest commented Aug 13, 2021

I believe we could use the postType to have a title match the context with "How to edit your post/page."

That would work yeah, and now I wonder if we can instead just go with a slightly more general title, to avoid having to specialize it. Like, how about "How to edit content". Totally open for more ideas, it feels we should be able to find one that is general enough but usable.

It does appear the smaller back button target is fairly small throughout the app for other bottom sheets as well. I will attempt to improve this.

Thanks! It's almost out-of-scope for this PR but yeah, since the user would probably navigate through the sections exploring the info, the small hit target can get frustrating. Sounds like something to try to tackle in a timebox manner and take it to a separate PR if it proves too much for this PR.

I am struggling to follow and identify what you are referencing with this comment. Would you be willing to elaborate further please?

Oh sorry. I was referring to the "Remove blocks" asset and how we use the same in the "Customize blocks" case. I was mistaken there though: we are not using the same asset. I guess that glancing at those 2 assets wasn't enough for me to see that in the Customize Blocks one the blue dot is trying to indicate the cog icon, not the 3-dot menu :(.

Enabling selectable could be a good first improvement. WDYT?

Thanks for looking into that already David! Since word-level is not yet well supported, it's better to leave this for a separate discussion, perhaps trying out the selectable in a demo build and feel it out. At this stage, I think the most we should add to the effort is to open an enhancement ticket. I can do that and link it here.

Improve readability of large quantities of help content by leveraging a
full screen height bottom sheet.

In order to render the nested `ScrollView` at the correct height,
`flexShrink: 1` was added to the bottom sheet header element and the
`listProps`. The latter is applied to the bottom sheet child scrolling
element.

Additionally, `height: 100%` must be applied to the top-level element of
the child view rendered in this bottom sheet. This matches the link
picker implementation and ensures the element fills the parent bottom
sheet.
@kyleaparker
Copy link

The bottomsheet title reads "How to edit your site" when editing a post. Not sure if that's intended? Maybe we'd expect a "How to edit your post"? in that case?

We can change it so it's more contextual for now and say "How to edit your post" or "How to edit your page". The thought behind the original title was that this would be relevant with FSE when people are focused on creating or editing their website. Most people talk about editing their website rather than posts/pages.

In Dark Mode, the image assets don't blend too well since they depict the blocks in light mode. I think this is probably highly subjective and just wanted to put it out there.

If I make dark versions of each image are they easy to switch out?

For a couple of the current help topics, we show the same screenshot of the 3-dot block toolbar button, which is the first step for navigating to the option at hand. I understand that since the options are actually in bottomsheets the screenshots wouldn't be compact enough if we depicted both the 3-dot menu and the bottomsheet. I wonder though if we could improve this somehow. For example, show the bottomsheet option in some kind of inset or overlay along with the 3-dot menu.

As a future iteration we could use animations instead of static images. The dot is also meant to help people with the first step of knowing where to go to find certain actions and I had originally imagined it as a pulsating dot to draw the eye a bit more.

Known from other places as well but looks like the bright-and-full-width image asset in the "What is a block?" topic doesn't allow the scrollbar to be too visible on Android dark mode. I think it's outside the scope of this PR but I wonder if there's anything quick we can do for improving this? cc @kyleaparker . See the following screengrab of the issue on my Pixel 2XL in dark mode where the ephemeral scrollbar is only adding a barely noticeable tint over the underlying image:

We are planning to try out a full height bottomsheet which may fix this issue

@dcalhoun
Copy link
Member Author

If I make dark versions of each image are they easy to switch out?

@kyleaparker yes, from a quick exploration, I believe swapping images for Dark Mode should be an easy switch.

[...] See the following screengrab of the issue on my Pixel 2XL in dark mode where the ephemeral scrollbar is only adding a barely noticeable tint over the underlying image:

We are planning to try out a full height bottomsheet which may fix this issue

The "What is a block?" content in particular will likely always exceed the height of a small device. Also, landscape orientation may experience overflow more often. So, this may still remain an issue in some contexts. That said, my suggestion would be to consider it out of scope for this work and an opportunity for further improvement later.

The current `BottomSheet.SubSheet` implementation does not reset a given
sub sheets visibility when navigating backwards via the Android back
button. This results in the child content remaining visible. When
subsequently navigating to a new child, the previous child is also
displayed.

We might be able to hook into React Navigation events to resolve this,
but my exploration felt forced and not all that valuable.
Including a close button will make it easier to dismiss the Help section
on Android.
Better align with OS defaults to meet user expectations.
Some code is unused, other changes were not necessary or discussed with
the original author.
Replace "site" with "post" or "page" base on the current content type.
We may reinstate the term "site" once full-site editing features are
included in the help articles.
The panel title provides more confusion than value as we only have one
panel currently. Once we have multiple panels, reinstating the title
would be helpful.
Allow selecting and copying text from help content to improve ability to
copy terms into search engines and elsewhere.
Improve usability of UI via larger tap targets for buttons.
@dcalhoun
Copy link
Member Author

@hypest @kyleaparker I believe I have addressed the feedback and agreements so far. I am going to consider all other feedback as non-blocking, and opportunities for future improvement. Please let me know if I am mistaken, as I have also requested @jhnstn provide his review so that we can move towards merging this work when possible. Thanks!

Completed Improvements

  • Fix Android hardware back button: de431c2
  • Add back button to bottom sheet: cc045ba
  • Help section title adapts to post/page context: dd5c7d8
  • Remove the unnecessary "The basics" section title: 6371410
  • Enable text selection in Help articles: d6baa7a
  • Increase size of navigation header tap targets: c24c06e

Future Improvements Opportunities

  • New images for Dark Mode.
  • Improve scroll bar visibility atop full-width images.
  • Improve text selection for iOS.

Copy link
Contributor

@jhnstn jhnstn left a comment

Choose a reason for hiding this comment

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

Code changes LGTM, I've run through the testing steps on both iOS and Android. Everything is working as expected. Nice work!

@dcalhoun dcalhoun merged commit 89ef4b2 into trunk Aug 19, 2021
@dcalhoun dcalhoun deleted the update/editor-onboarding-help-detail-view branch August 19, 2021 00:57
@github-actions github-actions bot added this to the Gutenberg 11.4 milestone Aug 19, 2021
@hypest
Copy link
Contributor

hypest commented Aug 24, 2021

Improve scroll bar visibility atop full-width images.

Just wanted to link to a relevant ticket and decision here where we'll be adding some scrollbar related tweaks to improve visibility and we could do the same in the help sections too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) [Package] Editor /packages/editor [Type] Feature New feature to highlight in changelogs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add “The basics” Help Section Articles
4 participants