I'm not sure about using generated content for the comma's as this feels a like something that would otherwise sit naturally along-side the text in the markup. E.g. if this was server-side.

To me generated content feels presentational though I suppose the main consideration along those lines would be screenreaders and afaik they do and don't read generated content just to make things harder. [1]

[1] http://www.456bereastreet.com/archive/201205/css_generated_content_and_screen_readers/