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

Delay loading state to reduce bounce & Manually move user focus on 2nd article view #1302

Closed
1 task done
dr3 opened this issue Feb 17, 2019 · 2 comments · Fixed by #4561
Closed
1 task done

Delay loading state to reduce bounce & Manually move user focus on 2nd article view #1302

dr3 opened this issue Feb 17, 2019 · 2 comments · Fixed by #4561
Assignees
Milestone

Comments

@dr3
Copy link
Contributor

dr3 commented Feb 17, 2019

Is your feature request related to a problem? Please describe.
When we load a new article we should delay showing the loading state to reduce visual bounce. We need to set the delay to a value that allows for some network lag, but doesn't feel like the page isn't responding.

In doing this, there is a chance the loading screen is never seen. This causes issues when transferring from 1 article to another seamlessly, as react will try to convert the article, not reseting the user focus.

Describe the solution you'd like
Add a delay to showing the loading state.

Manually move the user focus when transitioning to a loading screen or new article.

  • This should follow the guidelines in https://bbc.github.io/gel/foundations/routing/ which say exactly how to move user focus in cases like this, and what to :)
  • A developer accessibility swarm should be carried out as part of this Issue

Testing notes
On slow network when clicking on an inline article page from an article page its expected that the page loads after some delay and if the data doesn't fetches then should see a error page.

Dev insight: This can be simulated using the chrome dev tools slow network connection.

Additional context
This isn't to make the loading screen itself, it can remain simple text. The loading view itself will be handled by #1248

@dr3 dr3 added the Refinement Needed This is ready for refinement. It shouldn't be worked on until it has been refined by Dev & Test. label Feb 17, 2019
@dr3 dr3 mentioned this issue Feb 21, 2019
4 tasks
@ChrisBAshton ChrisBAshton added v1.0.1 and removed v1.0 labels Mar 13, 2019
@dr3 dr3 changed the title Delay loading state to reduce bounce Delay loading state to reduce bounce & Manually move user focus on 2nd article view Aug 5, 2019
@dr3 dr3 removed the Refinement Needed This is ready for refinement. It shouldn't be worked on until it has been refined by Dev & Test. label Aug 20, 2019
@hotinglok hotinglok self-assigned this Aug 20, 2019
@jamesbhobbs jamesbhobbs added this to the Simorgh 3.0 milestone Aug 20, 2019
@hotinglok hotinglok removed their assignment Oct 18, 2019
@jroebu14
Copy link
Contributor

I guess this one would need an a11y swarm/review.

@itimirichard itimirichard self-assigned this Nov 1, 2019
@greenc05
Copy link

greenc05 commented Nov 6, 2019

Accessibility acceptance criteria:

Given I use a screen reader
When I navigate from any simorgh page to another simorgh page
Then focus should be taken to the same place in the document structure each time
And this must be on the heading level 1
And the content of this should be announced

Full accessibility acceptance criteria for routing:
Given I am viewing the simorgh application
When I navigate from any simorgh page to another simorgh page
Then the page title must change to reflect the page content

Given I am viewing the simorgh application
When I navigate from one simorgh page to another simorgh page
Then the navigation must reflect the current page

Given I use a screen reader
When I navigate from any simorgh page to another simorgh page
Then focus should be taken to the same place in the document structure each time
And this must be on the heading level 1
And the content of this should be announced

Given I use a screen reader
When I navigate from any simorgh page to another simorgh page
And I have to wait for the page content to load
Then focus should be taken to a loading indicator until all the content is ready to be revealed
And this should be announced, such as ‘Loading’ or ’Please wait’

Given I use a screen reader
When I navigate from any simorgh page to another simorgh page
And a loading indicator was announced
When loading is complete
Then focus should be taken to the h1

Given I am viewing the simorgh application
When I navigate from any simorgh page to another simorgh page
Then when I press the browser back button, the previous page should be rendered
And when I press the browser forward button, the page rendered before pressing the back button should be rendered

Given I use a screen reader
When I navigate to a simorgh page from a non simorgh page
Then the page title must be announced on page load
And the focus should not be taken to the h1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants