It probably shouldn't be legal to decline legal tender because it is absolutely not legal to accept any other form of payment than pound sterling.
That is largely for tax reasons, if I pay you in pokemon cards, what's the VAT on that and how do I give it to HRMC? Not possible. People like to argue that private businesses can do whatever they like but that's simply untrue.
They can decline cash, but they must take payment in pounds and pence somehow.
I understand why they wouldn't want to deal with cash as it makes transactions faster and you don't have to deal with taking your cash to the bank (or an expensive courier) but, as the article mentions, it affects the poorest and least technically literate in society disproportionately.