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

Test: new notifications UX #44319

Closed
3 tasks done
bpasero opened this issue Feb 24, 2018 · 0 comments
Closed
3 tasks done

Test: new notifications UX #44319

bpasero opened this issue Feb 24, 2018 · 0 comments

Comments

@bpasero
Copy link
Member

bpasero commented Feb 24, 2018

Refs: #42962

Complexity: 5++

Intro
The notifications system has been rewritten from scratch and the old code removed. The new system consists of three parts:

  • a notification toast will fly in bottom right as soon as a notification happens and hide automatically after a certain time unless it has actions (buttons). at most 3 toasts will show at the same time and old ones hide when there are more
  • the status bar will show a little bell icon and counter for each new notification that resets once you open the notification center
  • the notification center is a stable list of all notifications until a notification is deleted pressing the X button. it can be opened by pressing the bell icon
  • a notification consists of severity, message, primary/secondary actions, close button and source. if a message does not carry actions and its text overflows, we offer a expand action to see the full text.

screen shot 2018-02-24 at 08 10 50

Trigger Notifications
Use the following strategies to trigger notifications:

  • run a small extension that makes use of the showXYMessage API and optionally add buttons to the message
  • notifications without buttons and long message will show collapsed by default with a button to expand them
  • notification messages support markdown links in the format: [title](url)
  • trigger notifications from within VSCode (for example: check for updates when there is none, open a HTML file and follow a link that points to a file that does not exist, etc.)

Verification

Status Bar

  • the counter is not getting out of sync and the behaviour makes sense to you

Toasts

  • toasts are animated when appearing and they show up to max 3. toasts at the same time
  • the toasts do not overflow the workbench when you resize the workbench window to become small
  • toasts are expanded by default when carrying actions
  • the message is always visible when the notification is expanded
  • if the message includes link, you can click to open
  • toasts are keyboard accessible
  • screen reader support: a message is read when the toast appears and the toast itself is screen reader supported when focus moves in
  • verify the various notification toast commands: notifications.hideToasts, notifications.focusToasts, notifications.focusNextToast, notifications.focusPreviousToast, notifications.focusFirstToast, notifications.focusLastToast
  • a notification with the same properties as one that is already showing will cause the old one to disappear and the new one to show on top

Center

  • the center shows the same contents as the notification toast in a stable list
  • the center does not overflow the workbench when you resize the workbench window to become small
  • when you delete a toast, it will no longer show up
  • when you trigger a notification while the center is opened, you will not see a toast and and the notification simply appears to the top of the list
  • a notification with the same properties as one that is already showing will cause the old one to disappear and the new one to show on top
  • you see a scrollbar when the maximum size of the notification center is reached
  • verify the various notification center commands: notifications.showList, notifications.hideList, notifications.toggleList, notifications.clearAll
  • verify the various notification commands: notification.collapse, notification.expand, notification.toggle, notification.clear
  • verify keyboard accessibility
  • verify screen reader announcement
@bpasero bpasero added this to the February 2018 milestone Feb 24, 2018
@dbaeumer dbaeumer removed their assignment Feb 27, 2018
@Tyriar Tyriar removed their assignment Feb 27, 2018
@gushuro gushuro removed their assignment Feb 28, 2018
@vscodebot vscodebot bot locked and limited conversation to collaborators Apr 14, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants