Outside the Plane of Air (where there is no gravity), stepping onto air terrain automatically makes you fall to your death unless you are levitating or flying. (Or possibly you merely fall to a lower level, taking a fair amount of damage, or you have so far to fall that it takes a couple turns to hit the bottom, in which you have a couple turns to take some action to save yourself, by levitating or flying or whatever). However, you are prompted to confirm stepping out into the open air if it isn’t safe to do so.
Items dropped into open air either end up randomly placed on a lower level if there’s a sensible lower level to place them on, or vanish forever (though in that case an exception needs to be made for the unique items).
If falling into air is an instadeath, life saving acts the same as if you die in lava; it puts you on a safe location (“You find yourself back on solid land again”).
Air can use the W_NONDIGGABLE flag, or possibly one of the other struct rm flag bits, to represent a wind barrier, which the level designer can use to make a region of air impassible. Attempting to move onto such a space produces a message like “A strong gust blows you back!” and makes you lose the turn.
One of the greatest problems with air terrain is what ASCII character to display it as; existing implementations use just regular space (which is what it displays as on the Plane of Air), but this is easily mistaken for stone, which can lead to players unexpectedly falling to their death if there is no safeguard against wandering off a cliff, and would present a problem if there were ever a air/stone boundary, which would be invisible. Other suggestions include: space, but highlighted with the terminal’s black color ( ), black pound sign (#), black tilde (~), black right brace (}), or even just gray counterparts of these. All of these have various downsides; for instance, it must be expected that they will render as dark blue for some players who have use_darkgray turned off.