Not all shields has 100% block rate against all types of damage (you can see this if you check their status screen) so you usually still take some chip damage. Of course you can change this behavior in a game made with the engine, either by changing the code that handles blocking or just give shields 100% absorption for all elements when creating your item database.