Pre-heat the oven to 180C/160C fan/gas 4. Lightly grease a 33 x 23cm Swiss roll tin with a lip of at least 3cm.
To make the shortbread, mix the flour and caster sugar in a bowl. Rub in the butter until the mixture resembles fine breadcrumbs. Knead the mixture together until it forms a dough, then press into the base of the prepared tin. Prick the shortbread lightly with a fork and bake for 20 minutes or until firm to the touch and very lightly browned. Leave to cool in the tin.
To make the caramel, place the butter, sugar and condensed milk in a pan and heat gently until the sugar has dissolved. Bring to the boil, stirring all the time, then reduce the heat and simmer very gently, stirring continuously, for about 5-10 minutes or until the mixture has thickened slightly. Pour over the shortbread and leave to cool.
For the topping, melt the chocolate slowly in a bowl over a pan of hot water. Pour over the cold caramel and leave to set. Cut into squares or bars.