In either case, the particle を can be used. What's going on here?
This is one of those instances where we as English speakers encounter a term and assume that it matches its English equivalent perfectly, but actually the distinction between transitive and intransitive verbs is a little bit fuzzier than you may have been led to believe. As such this answer may not be very intuitive.
The basic point is that taking a direct object doesn't necessarily mean a verb is transitive. In this dictionary entry for 他動詞:
And the entry for 自動詞:
Basically it's saying that the line is fuzzy in Japanese while there are some clear rules in Western languages.
So what about 渡る, specifically? Why does this fall into that fuzzy category?
Check out this discussion. Examining the definitions a little closer we see that for a verb to be transitive it must be on operation on that object. When you cook rice you are acting on the rice. When you kick a ball you are acting on the ball. But when you cross a bridge, are you acting on the bridge? Are you doing something to it? Not really; the bridge just happens to be where you're walking.
Another way to look at it is to say that the を isn't marking an object but a path. You can find the same kind of misunderstanding with 歩く. When you say 道を歩く, does 歩く become a transitive verb? No, and this site can support that. At the end of the day the operating phrase seems to be "自他の対応がない."
You are correct that 渡る is intransitive, 渡す is transitive but it seems you are not familiar with the different uses of the particle を： In addition to being a direct object marker for "handing over things":
拳銃を渡す −hand over a gun
The particle を can also act as a "spatial object marker" for the intransitive forms such as crossing things like bridges:
or as in the sentence
( 飛ぶ also being an intransitive verb)
It might help to think about how many words in English can be used both transitively and intransitively.
Now think of the difference in Japanese between a verb taking 「を」 and that same verb taking 「に」 or possibly 「へ」.
There's also interesting Chinese-derived words （漢語） like 「渡米する」, meaning "to cross over to America" or "go to America" and 「渡海する」, meaning "to go out on the ocean".
Or 「上京する」 and 「上洛する」, meaning "to go up to the capital/Tokyo" and "to go up to the capital/Kyoto" respectively.
Both「渡米する」 and 「渡海する」 are generally used as intransitive 自動詞, but 「渡米」 has an underlying meaning of 「アメリカへ」, whereas 「渡海」 has an underlying meaning of 「海を」
Contrast this with the more similar 「上京」 and 「上洛」
In summary, the case of 自動詞 + を also exists for some verbs (especially those that indicate a change in location like 歩く・走る・出る・渡る・散歩する) to express where the action is done (as in 「森を歩く」) or at what location the action begins (as in 「家を出る」).
See the 大辞林 entry for 「を」, definitions 3 and 5 here: http://www.weblio.jp/content/%E3%82%92