"Have you sung for her?"
Translation:Har du sjungit för henne?
It's not really acceptable because it's used so rarely and in so specific contexts. Accepting it would be like accepting at in English here. Maybe we should change the English though, because they'd usually say to. We put for on purpose to try to help people avoid this mistake.
We think accepting that would not be helpful, since it would probably make people believe you could use the two interchangeably, which you really can't. The general idea is that if a sentence requires adding a less likely context and could give people the wrong impression, it won't be accepted.