If text has <br>, it gets tspans and wraps onto multiple lines. If you pass the text node to Drawing.bBox though, it is measured as if the text is all on one line, giving the incorrect bBox.
In the example below, the text node is passed to Drawing.bBox. The 304 returned as the width is the _sum_ of the widths of each tspan. When it's rendered in updatemenus though, each tspan is on a separate line.

This one should be resolved in @alexcjohnson 's https://github.com/plotly/plotly.js/pull/1792
Ah good catch @etpinard - yes, fix is included in #1792 (specifically https://github.com/plotly/plotly.js/pull/1792/files#diff-5d20f0f113b3fa06526a5ae593b7de34R640)- and we have tests that were previously testing the incorrect behavior and are now testing the correct behavior, such as https://github.com/plotly/plotly.js/pull/1792/commits/3b293ace4fe24f36466ba63a6ce8e4757b86559c :tada: