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

fixes tabs keyboard navigation bug in IE8 #1359

Merged
merged 3 commits into from
May 20, 2019
Merged

fixes tabs keyboard navigation bug in IE8 #1359

merged 3 commits into from
May 20, 2019

Conversation

aliuk2012
Copy link
Contributor

@aliuk2012 aliuk2012 commented May 17, 2019

In IE8, the browser could not find the next/previous tab because it does
not support nextElementSibling and previousElementSibling DOM traversal
methods. To fix it I applied a polyfill for it.

Once the browser could find the tab we then had to find the firstChildElement
(i.e the anchor element) to add/edit the various data attributes to show/hide
the tab panel. Again IE8 doesn't support it and instead of introducing another
polyfill I used `querySelector instead to look up the "a". I assumed the
first element would always be anchor for navigation purposes and also the
nunjucks template uses an anchor with the class name that I'm looking up.

Before:

ie8-tab-nav-bug

After

ie8-tab-nav-fix

fixes: #1327
👉 https://govuk-frontend-review-pr-1359.herokuapp.com/components/tabs
👉 https://govuk-frontend-review-pr-1359.herokuapp.com/components/tabs/preview

@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 10:32 Inactive
@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 10:43 Inactive
@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 10:46 Inactive
@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 11:06 Inactive
@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 13:45 Inactive
@govuk-design-system-ci govuk-design-system-ci temporarily deployed to govuk-frontend-review-pr-1359 May 17, 2019 14:56 Inactive
@aliuk2012 aliuk2012 marked this pull request as ready for review May 17, 2019 15:19
@aliuk2012 aliuk2012 added this to the v3.0.0 milestone May 17, 2019
Copy link
Contributor

@NickColley NickColley left a comment

Choose a reason for hiding this comment

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

Nice work 👍

In IE8, the browser could not find the next/previous tab because it does
not support `nextElementSibling` and `previousElementSibling` DOM traversal
methods. To fix it I applied a polyfill for it.

Once the browser could find the tab we then had to find the `firstChildElement`
(i.e the anchor element) to add/edit the various data attributes to show/hide
the tab panel. Again IE8 doesn't support it and instead of introducing another
polyfill I used `querySelector instead to look up the "a". I assumed the
first element would always be anchor for navigation purposes and also the
nunjucks template uses an anchor with the class name that I'm looking up.
I've added two new files polyfill files although they didn't come directly
from polyfill.io they were based off a PR that was merged in the library
but not included in the new polyfill-library repo.
I've added comments pointing to the original pull request for the
detection and for the polyfill.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

4 participants