Rangy (actually the browser) will always return valid HTML, meaning
all tags in the output will having matching start/end tags. This is
because toHtml() copies the portion of the document that the
range/selection selects into a separate element and returns the
element's innerHTML property. This means that if the selection/range
crosses a node boundary, the HTML returned will include copies of both
nodes. If you just selected "yor" then toHtml() will not include <b>
and </b> tags.
Tim