Whether you can be required to work on bank holidays will depend on your contract of employment. There is no general legal right to time off on bank holidays, though it is a common practice to give time off.
Many people have the right to bank holidays written into their contract with their employer.
But if you don't have this, employers can require you to work on public holidays. Many jobs (such as in the emergency services and the media) have always worked on bank holidays, but employers in many other sectors (such as retail) now expect their staff to work bank holidays too. Good employers are likely to offer overtime pay or enhanced time off in lieu.
Where a trade union is recognised at your workplace, there is likely to be a collective agreement in place concerning bank holiday working, and better arrangements are likely to have been negotiated, such as enhanced pay rates.
In the retail sector, there are special rights relating to Sunday working (for example, Easter Sunday). If you work in retail, you can find more information about your rights in relation to Sunday working from the website of retail workers' union Usdaw.