As promised a week and a half ago, a new version of the Spine is pending release. We were originally hoping to get it out the door last Wednesday, but decided to let it soak a bit longer. We’re now looking at deploying the new version in the morning on Wednesday, March 30th.
In the meantime, check out the changes included with that new release below. We’ll send out another notification when the release is actually deployed.
This release refactors how the Spine is handled on mobile devices. Previously, we shared the logic used on larger views for calculating the heights of and resizing
main as the browser resized or the document scrolled. Not using a
position: fixed header had a tendency to cause issues when scrolling through the menu on both iOS and Android devices. Android devices had troubles scrolling at all.
We now move elements in the DOM around a bit when a mobile view is detected. The Spine’s header becomes a fixed element at the top of the screen. The
#glue is moved into its own
#scroll element that is allowed to scroll separately from the document as a whole. The navigation appears and disappears smoothly and is much more useable on iOS and Android devices.
- Treat mobile navigation the same in Fluid, Hybrid, and Fixed grid layouts. 990px is the mark at which we show mobile navigation. See #338.
- Refactor how
#gluepositioning is handled on scroll. This fixes a bug where the navigation could appear jumpy at certain spots depending on the size of the document and the size of the window. See #342.
- Along with that, simplify how
min-heightis calculated for
main. See #343.
- Calculate the height of the area exposed by the Spine action links based on
mainso that things don’t disappear in a strange way. See #341.
- Improve the focus state of Spine action items. Previously they would get lost if navigated through by keyboard. See#340.
- Provide explicit button types for
buttonelements added to the DOM by the Spine. See #347.
- Remove a
line-height: 1emrule applied to
figcaptionthat squashed text in captions.
- Simplify and document scripting to add
dogearedto nav. See #328.
- Remove unused implementation of Spine analytics in favor of jTrack. See #326.
- Remove the
dumpfunction that was provided to aid in code debugging. This was not in use anywhere in the Spine. See #327.
- Remove a series of unused SVG assets. See #325.
- Remove our custom Open Sans fonts. This font should be loaded via Google’s CDN instead. See #309.
- Introduce CSS linting. The configuration file explains this best.
- Use PostCSS to apply vendor prefixes. See the configuration file.
- Replace the Ruby based
grunt-contrib-sasswith the much faster
grunt-sass. See #322.
- Revisit and clarify JSHint rules. See #335.