Look at this map. The countries in the blue (including both Germany and Austria) area form the Schengen Area, which operates as a single country for border purposes.
Think of it this way: if a foreigner flies Istanbul-Tehran-Mashad-Dubai, they have to enter Iran in Tehran, because of the domestic flight Tehran-Mashad, and exit in Mashad, and therefore need an Iranian visa.
In the same way, when flying US-Austria-Germany-Iran, because of the Austria-Germany flight, you must enter the Schengen Area in Austria, and exit in Germany, and therefore need a (type C) Schengen visa, which, in your case, you apply for at the embassy of the country where you land first (the Austrian embassy if landing in Austria first)
So yes, it is correct that, to travel without a visa, you cannot fly between two airports in the Schengen Area.