I’ve thought this over, and I think a better UI would be a show/hide toggleable “Subject:” text field just above the chat text entry field (toggle it in the “+” menu).
If you manually alter the contents of this “Subject:” field, the field background changes color, and your next message will go out with that subject. Otherwise it contains the subject of the most recently-received message.
A drop-down (well, drop-up) menu gives the most recent subjects in the chat, in chronological order of last appearance. So you can manually set it to a past subject, or type your own new subject.
Subjects are coded by background colour, both in the subject field and in the chat (behind the speech bubbles). Mousing over or clicking on the chat background should give the subject text in a popup. For screenreader use, the subject should be displayed as hidden text at the beginning of each message which has a different subject from the preceeding message.
Ignoring this functionality would give the status quo (apart from a “Show message subjects” field in the “+” menu).
Would this satisfy everyone?
This proposal is similar to @Raiden’s here: