Once the active player has declared their attackers (and those attackers are legally chosen and 'tapped' or otherwise committed), the game moves to the end of the Declare Attackers Step. At this point, triggered abilities that triggered during that step go on the stack, and then the active player receives priority first. Both players may cast instants or activate abilities before the game moves to the Declare Blockers Step. This is governed by CR 509.4 and the general priority rule CR 117.3.
Priority passes back and forth between players. The step does not end until all players pass priority in succession with an empty stack (CR 117.4). So yes, there is a window — sometimes called the 'after attackers' window — where instants and instant-speed effects can be used.
This is also important for abilities that trigger when a creature attacks. Those triggers are placed on the stack during this same window, and players can respond to them with instants before blockers are ever declared.
Concrete example: Your opponent attacks with a 2/2 and a 3/3. Before you declare blockers, you cast Fog (an instant). The Declare Attackers Step fully resolves, Fog resolves, and then the Declare Blockers Step begins — preventing all combat damage that turn even though blockers haven't been named yet.
So the key takeaway: the Declare Attackers Step and the Declare Blockers Step are separate steps with separate priority windows. Instants can absolutely be cast between them.
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.