According to one author, using class names such as "left" and "right" is unsemantic CSS, but some of the comments suggest otherwise.
It makes sense that there could be some situations (e.g., mobile displays, design tweaks) where the "left" might not be so left anymore.
On the other hand, if the classes were called "address" and "phone" instead (to match the content), then that would solve it. But what if the content changed, or was slightly modified and no longer fit the bill?
Where is the common ground on this? Are there alternate, future-proof solutions that are semantic?
I think it is fine because you are describing layout and layout needs those terms.
The 'semantic argument' is more for things like a 'red' tag when you want to highlight. What happens when you want blue? Better to have the tag be 'SuperImportant' and change it's color one place rather than 'red' and having to change it in every place (or even worse, changing what color 'red' points to and not changing the name.
So for left and right, they're probably better staying left and right. I doubt these are gonna become 'top' and bottom' panels and I doubt they'd be repositioned as any thing else.
Note that this is for layout though. If there is particular content that applies to the left and particular content that applied to the right, and n'er the twain shall meet, then also surround the content with tags, e.g. <dems>lllll</dems>............<reps>- - - - - - </reps>