It's time to do it again: bring progressbar to next level. It's a follow-up for #653620: Bring progressbar to the modern era and #902490: progress.gif doesn't tile properly.
Problem:
- Our current progressbar is hard to maintain (it needs access to original Photoshop assets) and re-style / build on top of it.
- Its blue hue is not in sync with core themes :)
- It does not use semantic markup / HTML5
Proposal:
1. Create new "backend" for progressbar. Options:
- HTML5 http://caniuse.com/#feat=progressmeter and http://www.useragentman.com/blog/2012/01/03/cross-browser-html5-progress... and http://lea.verou.me/polyfills/progress/
- jQuery UI progressbar http://jqueryui.com/demos/progressbar
- Something similar to current div/class markup, refreshed.
2. Style it using modern technologies, drop animated GIF background. Options:
- HTML5 default
styling
- Emulate current design using CSS3: http://css-tricks.com/css3-progress-bars/ and http://twitter.github.com/bootstrap/components.html#progress and https://github.com/twitter/bootstrap/blob/master/less/progress-bars.less
- Combination of two above
Issue fork drupal-1477550
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #1
nod_Oh yes please. I'd very much like to use jQuery UI for this. And at least clean up the JS for the progressbar.
Comment #2
droplet commentedstyle UX ref:
http://ux.stackexchange.com/questions/18361/why-do-progress-bars-animate...
Comment #3
kika commentedSee also http://www.red-team-design.com/stylish-css3-progress-bars
Comment #3.0
kika commentedfix
Comment #4
Niklas Fiekas commentedMerging in #1484174: Add HTML5 element: <progress>. Also added this issue to the HTML5 overview overview.
W3C: http://dev.w3.org/html5/spec/Overview.html#the-progress-element
WHATWG: http://www.whatwg.org/specs/web-apps/current-work/#the-progress-element
Thank you @kika.
Comment #5
kika commentedMore CSS3 animated bars http://www.leemunroe.com/css3-animated-loading-bar/
Drupal CSS gods, any takers?
Comment #6
robloachjQuery UI 1.9's Progressbar
Comment #7
damien tournoud commentedJust a side note: this needs to work without Javascript, so most of the markup needs to be in the HTML source. I'm not sure jQuery UI progressbar supports that.
Comment #8
robloachjQuery UI is both a JavaScript framework, and a CSS framework. The progress bar doesn't need JavaScript to work. I've put together an example of jQuery UI ProgressBar working without JavaScript.
Comment #9
damien tournoud commentedWell, yes. Except that the CSS framework needs all those non-semantic classes that are usually added by the Javascript (ie.
ui-corner-all,ui-corner-left, etc.). I think the<progress>element is a better bet moving forward.Comment #10
robloachOh, if we were to use straight up HTML5's <progress>, I'd opt for that.
Comment #11
cosmicdreams commentedI'm all for using the HTML 5 version of progressbar. If we go that route we'll have to implement a fallback for browsers that Drupal 8 supports that don't support the element:
http://caniuse.com/#search=progress
Comment #15
kika commentedSee issue summary "1. HTML option" there are links for
browser support and polyfills.
Comment #16
Crell commentedI am entirely +1 on using the HTML5 progress bar and then providing a fallback.
I'd even be OK with that fallback not being pretty on non-supporting browsers and requiring Javascript, as long as the page actually loads and the batch process completes.
Comment #17
kika commentedMore reference links:
http://caniuse.com/#feat=progressmeter
http://www.useragentman.com/blog/2012/01/03/cross-browser-html5-progress...
http://wufoo.com/html5/elements/2-progress.html
and there's a new polyfill
https://github.com/jonstipe/progress-polyfill
Comment #18
Crell commentedSo who's writing the patch to use the progress element? Volunteers?
Comment #19
kika commentedI'd propose to split this issue to move faster and to target the tasks to contributors with different expertises (CSS / JS). This issue could stay as a meta-issue.
1. Re-open #1484174: Add HTML5 element: <progress>
2. Open new issue "Convert progressbar to <progress>"
3. Open new issue #xxx "Replace progress.gif with CSS3 animation".
Comment #20
Crell commented+1 to #19. I'm not doing those myself because it feels wrong creating new issues that I know I'm not going to get close to working on, but I'll cheer from the sidelines. :-)
Comment #21
nod_A dependency for this has been pushed to D9, pushing this one too.
Comment #21.0
nod_more links
Comment #22
lewisnymanComment #23
catchComment #24
lewisnymanWe can reduce the scope of this issue a little I think. The CSS for the progress bar is now CSS3.
Comment #37
finnsky commentedComment #38
andypost