Markup-defined buttons now preserve textContent