Wall of browser bugs
published content
This page is outdated and is no longer applicable to the latest versions of Bootstrap. It's here purely for historical purposes now and will be removed in our next major release.
Bootstrap is currently working around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.
We publicly list browser bugs that are impacting us here, in the hopes of expediting the process of fixing them. For information on Bootstrap's browser compatibility, see our browser compatibility docs .
see also:
- Chromium issue 536263: [meta] Issues affecting Bootstrap
- Mozilla bug 1230801: Fix the issues that affect Bootstrap
- WebKit bug 159753: [meta] Issues affecting Bootstrap
- jQuery's browser bug workarounds
| Browser(s) | Summary of bug | Upstream issue(s) | Bootstrap issue(s) |
|---|---|---|---|
| edge | Visual artifacts in scrollable modal dialogs | Edge issue #9011176 | #20755 |
| edge | Native browser tooltip for titleshows on first keyboard focus (in addition to custom tooltip component) |
Edge issue #6793560 | #18692 |
| edge | Hovered element still remains in :hoverstate after scrolling away. |
Edge issue #5381673 | #14211 |
| edge | CSS border-radiussometimes causes lines of bleed-through of the background-colorof the parent element. |
Edge issue #3342037 | #16671 |
| edge | backgroundof <tr>is only applied to first child cell instead of all cells in the row |
Edge issue #5865620 | #18504 |
| edge | Background color from lower layer bleeds through transparent border in some cases | Edge issue #6274505 | #18228 |
| edge | Hovering over descendant SVG element fires mouseleaveevent at ancestor |
Edge issue #7787318 | #19670 |
| edge | Active position: fixed; <button>flickers when scrolling |
Edge issue #8770398 | #20507 |
| Firefox | .table-borderedwith an empty <tbody>is missing borders. |
Mozilla bug #1023761 | #13453 |
| Firefox | If the disabled state of a form control is changed via JavaScript, the normal state doesn't return after refreshing the page. | Mozilla bug #654072 | #793 |
| Firefox | focusevents should not be fired at the documentobject |
Mozilla bug #1228802 | #18365 |
| Firefox | Wide floated table doesn't wrap onto new line | Mozilla bug #1277782 | #19839 |
| Firefox | Mouse sometimes not within element for purposes of mouseenter/ mouseleavewhen it's within SVG elements |
Mozilla bug #577785 | #19670 |
| Firefox | Layout with floated columns breaks when printing | Mozilla bug #1315994 | #21092 |
| Firefox (Windows) | Right border of <select>menu is sometimes missing when screen is set to uncommon resolution |
Mozilla bug #545685 | #15990 |
| Firefox (macOS & Linux) | Badge widget causes bottom border of Tabs widget to unexpectedly not overlap | Mozilla bug #1259972 | #19626 |
| Chrome (macOS) | Clicking above <input type="number">increment button flashes the decrement button. |
Chromium issue #419108 | #8350 , Chromium issue #337668 |
| Chrome | CSS infinite linear animation with alpha transparency leaks memory. | Chromium issue #429375 | #14409 |
| Chrome | table-cellborders not overlapping despitemargin-right: -1px |
Chromium issue #749848 | #17438 , #14237 |
| Chrome | Don't make :hoversticky on touch-friendly webpages |
Chromium issue #370155 | #12832 |
| Chrome | position: absoluteelement that's wider than its column is incorrectly clipped to column boundary |
Chromium issue #269061 | #20161 |
| Chrome | Significant performance hit for dynamic SVGs with text depending on the number of fonts in font-family. |
Chromium issue #781344 | #24673 |
| safari | remunits in media queries should be calculated using font-size: initial, not the root element'sfont-size |
WebKit bug #156684 | #17403 |
| safari | Link to container with id and tabindex results in container being ignored by VoiceOver (affects skip links) | WebKit bug #163658 | #20732 |
| safari | CSS min-widthand max-widthmedia features should not round fractional pixel |
WebKit bug #178261 | #25166 |
| Safari (macOS) | px, em, and remshould all behave the same in media queries when page zoom is applied |
WebKit bug #156687 | #17403 |
| Safari (macOS) | Weird button behavior with some <input type="number">elements. |
WebKit bug #137269 , Apple Safari Radar #18834768 | #8350 , Normalize #283 , Chromium issue #337668 |
| Safari (macOS) | Small font size when printing webpage with fixed-width .container. |
WebKit bug #138192 , Apple Safari Radar #19435018 | #14868 |
| Safari (iOS) | transform: translate3d(0,0,0);rendering bug. |
WebKit bug #138162 , Apple Safari Radar #18804973 | #14603 |
| Safari (iOS) | Text input's cursor doesn't move while scrolling the page. | WebKit bug #138201 , Apple Safari Radar #18819624 | #14708 |
| Safari (iOS) | Can't move cursor to start of text after entering long string of text into<input type="text"> |
WebKit bug #148061 , Apple Safari Radar #22299624 | #16988 |
| Safari (iOS) | display: blockcauses text of temporal <input>s to become vertically misaligned |
WebKit bug #139848 , Apple Safari Radar #19434878 | #11266 , #13098 |
| Safari (iOS) | Tapping on <body>doesn't fire clickevents |
WebKit bug #151933 | #16028 |
| Safari (iOS) | position:fixedis incorrectly positioned when tab bar is visible on iPhone 6S+ Safari |
WebKit bug #153056 | #18859 |
| Safari (iOS) | Tapping into an <input>element position:fixedscrolls to the top of the page |
WebKit bug #153224 , Apple Safari Radar #24235301 | #17497 |
| Safari (iOS) | <body>with overflow:hiddenCSS is scrollable on iOS |
WebKit bug #153852 | #14839 |
| Safari (iOS) | Scroll gesture in text field in position:fixedsometimes element scrolls <body>instead of scrollable ancestor |
WebKit bug #153856 | #14839 |
| Safari (iOS) | Modal with -webkit-overflow-scrolling: touchdoesn't become scrollable after added text makes it taller |
WebKit bug #158342 | #17695 |
| Safari (iOS) | Don't make :hoversticky on touch-friendly webpages |
WebKit bug #158517 | #12832 |
| Safari (iOS) | Element which is position:fixeddisappears after opening a <select>menu |
WebKit bug #162362 | #20759 |
| Safari (iPad Pro) | Rendering of descendants of position: fixedelement gets clipped on iPad Pro in Landscape orientation |
WebKit bug #152637 , Apple Safari Radar #24030853 | #18738 |
Most wanted features
There are several features specified in Web standards which would allow us to make Bootstrap more robust, elegant, or performant, but aren't yet implemented in certain browsers, thus preventing us from taking advantage of them.
We publicly list these “most wanted” feature requests here, in the hopes of expediting the process of getting them implemented.
| Browser(s) | Summary of features | Upstream issue(s) | Bootstrap issue(s) |
|---|---|---|---|
| edge | Focusable elements should fire focus event / receive :focus styling when they receive Narrator/accessibility focus | Microsoft A11y UserVoice idea #16717318 | #20732 |
| edge | Implement the :dir()pseudo-class from Selectors Level 4 |
Edge UserVoice idea #12299532 | #19984 |
| edge | Implement the HTML5 <dialog>element |
Edge UserVoice idea #6508895 | #20175 |
| edge | Fire an transitioncancelevent when a CSS transition is canceled |
Edge UserVoice idea #15939898 | #20618 |
| edge | Implement the of <selector-list>clause of the :nth-child()pseudo-class |
Edge User Voice idea #15944476 | #20143 |
| Firefox | Implement the of <selector-list>clause of the :nth-child()pseudo-class |
Mozilla bug #854148 | #20143 |
| Firefox | Implement the HTML5 <dialog>element |
Mozilla bug #840640 | #20175 |
| Firefox | When virtual focus is on a button or link, fire actual focus on the element, too | Mozilla bug #1000082 | #20732 |
| Chrome | Fire an transitioncancelevent when a CSS transition is canceled |
Chromium issue #642487 | Chromium issue #437860 |
| Chrome | Implement the of <selector-list>clause of the :nth-child()pseudo-class |
Chromium issue #304163 | #20143 |
| Chrome | Implement the :dir()pseudo-class from Selectors Level 4 |
Chromium issue #576815 | #19984 |
| safari | Fire an transitioncancelevent when a CSS transition is canceled |
WebKit bug #161535 | #20618 |
| safari | Implement the :dir()pseudo-class from Selectors Level 4 |
WebKit bug #64861 | #19984 |
| safari | Implement the HTML5 <dialog>element |
WebKit bug #84635 | #20175 |