"a children's book"
«Кни́га для дете́й» should be accepted too. If it's not, please report it.
Because де́тский is the masculine form of the adjective, while кни́га is a feminine noun.
Maybe because we don't have articles. While English can distinguish between a children's book and the children's book using articles, Russian has to use other means to differentiate them. So, we translate a children's book as детская книга or книга для детей 'a book for children', and the children's book as книга детей.
Кни́га дете́й would imply the book belongs to the children, and it would be usually translated 'the children's book", because the book can't just belong to all the children at the same time.
Your word order is unnatural. Declinable noun modifiers are usually put before it (де́тская кни́га), indeclinable are usually put after it (кни́га дете́й). There're some exceptions, but «дете́й кни́га» sounds very weird. Unless you're writing poetry, or otherwise know what you're doing (e.g. want to bring attention to the word by placing it in an unusual place in the sentence), you probably don’t want to use this word order.
Кни́га для дете́й would work, though.
Probably to make sure it represents «тс» (two consonants, t and s, in a row) and not «ц» (ts pronounced as a single consonant starting like t and ending like s).
Because ребёнок is singular, and children is plural. «Кни́га ребёнка» would correspond to 'the child's book'.