Instead of the zero-width div, you could set up an event listener for the copy event (using addEventListener() method) which calls .clipboardData.setData() on the ClipboardEvent to change it to your modified code.
That should avoid messing things up for people with screen readers while still trapping the copy+pasters.
That should avoid messing things up for people with screen readers while still trapping the copy+pasters.