Thank you both for your feedback! We’ve realized that we did not document the behavior of the label param when it is passed unsupported Markdown elements such as ordered lists in this case.
I’ve submitted a PR to document that behavior:
Unsupported elements such as blockquotes, un/ordered lists, etc, are not rendered on the frontend. To display unsupported Markdown elements as literal characters in labels, they need to be backslash-escaped.
E.g. Users may want to use > as the label for st.button . Passing label=">" results in no label being displayed, as the > is interpreted as Markdown’s blockquote character. The solution is to backslash escape: label="\>" .